// 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 #include "status.h" #include "test_platform.h" namespace v8_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. void PrintTo(const Status& status, std::ostream* os); // Matches any status with |status.ok()|. testing::Matcher StatusIsOk(); // Matches any status with |error| and |pos|. testing::Matcher StatusIs(Error error, size_t pos); } // namespace v8_crdtp #endif // V8_CRDTP_STATUS_TEST_SUPPORT_H_