// Copyright 2020 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#ifndef V8_CRDTP_STATUS_TEST_SUPPORT_H_#define V8_CRDTP_STATUS_TEST_SUPPORT_H_#include <ostream>#include "status.h"#include "test_platform.h"namespacev8_crdtp{// Supports gtest, to conveniently match Status objects and// get useful error messages when tests fail.// Typically used with EXPECT_THAT, e.g.//// EXPECT_THAT(status, StatusIs(Error::JSON_PARSER_COLON_EXPECTED, 42));//// EXPECT_THAT(status, StatusIsOk());// Prints a |status|, including its generated error message, error code, and// position. This is used by gtest for pretty printing actual vs. expected.voidPrintTo(constStatus&status,std::ostream*os);// Matches any status with |status.ok()|.testing::Matcher<Status>StatusIsOk();// Matches any status with |error| and |pos|.testing::Matcher<Status>StatusIs(Errorerror,size_tpos);}// namespace v8_crdtp#endif // V8_CRDTP_STATUS_TEST_SUPPORT_H_