xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/common/test_tools/quiche_test_utils_test.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 #include "quiche/common/test_tools/quiche_test_utils.h"
2 
3 #include "absl/status/status.h"
4 #include "absl/status/statusor.h"
5 #include "quiche/common/platform/api/quiche_test.h"
6 
7 namespace quiche::test {
8 namespace {
9 
10 using ::testing::HasSubstr;
11 using ::testing::Not;
12 
TEST(QuicheTestUtilsTest,StatusMatchers)13 TEST(QuicheTestUtilsTest, StatusMatchers) {
14   const absl::Status ok = absl::OkStatus();
15   QUICHE_EXPECT_OK(ok);
16   QUICHE_ASSERT_OK(ok);
17   EXPECT_THAT(ok, IsOk());
18 
19   const absl::StatusOr<int> ok_with_value = 2023;
20   QUICHE_EXPECT_OK(ok_with_value);
21   QUICHE_ASSERT_OK(ok_with_value);
22   EXPECT_THAT(ok_with_value, IsOk());
23   EXPECT_THAT(ok_with_value, IsOkAndHolds(2023));
24 
25   const absl::Status err = absl::InternalError("test error");
26   EXPECT_THAT(err, Not(IsOk()));
27   EXPECT_THAT(err, StatusIs(absl::StatusCode::kInternal, HasSubstr("test")));
28 
29   const absl::StatusOr<int> err_with_value = absl::InternalError("test error");
30   EXPECT_THAT(err_with_value, Not(IsOk()));
31   EXPECT_THAT(err_with_value, Not(IsOkAndHolds(2023)));
32   EXPECT_THAT(err_with_value,
33               StatusIs(absl::StatusCode::kInternal, HasSubstr("test")));
34 }
35 
36 }  // namespace
37 }  // namespace quiche::test
38