For convenience, adds a matcher that considers only frame types.
This is just syntactic sugar, but can reduce test verbosity if the test case only cares about frame types and not lengths.
PiperOrigin-RevId: 364801347
Change-Id: I431fd1ae764747bd61e9bc89b86568ba50fecda3
diff --git a/http2/adapter/test_utils_test.cc b/http2/adapter/test_utils_test.cc
index 1f8c557..a000e5c 100644
--- a/http2/adapter/test_utils_test.cc
+++ b/http2/adapter/test_utils_test.cc
@@ -11,7 +11,7 @@
using spdy::SpdyFramer;
TEST(ContainsFrames, Empty) {
- EXPECT_THAT("", ContainsFrames({}));
+ EXPECT_THAT("", ContainsFrames(std::vector<spdy::SpdyFrameType>{}));
}
TEST(ContainsFrames, SingleFrameWithLength) {
@@ -67,19 +67,27 @@
block[":authority"] = "example.com";
spdy::SpdyHeadersIR headers{17, std::move(block)};
- EXPECT_THAT(
+ const std::string frame_sequence =
absl::StrCat(absl::string_view(framer.SerializeFrame(ping)),
absl::string_view(framer.SerializeFrame(window_update)),
absl::string_view(framer.SerializeFrame(data)),
absl::string_view(framer.SerializeFrame(rst_stream)),
absl::string_view(framer.SerializeFrame(goaway)),
- absl::string_view(framer.SerializeFrame(headers))),
+ absl::string_view(framer.SerializeFrame(headers)));
+ EXPECT_THAT(
+ frame_sequence,
ContainsFrames({{spdy::SpdyFrameType::PING, absl::nullopt},
{spdy::SpdyFrameType::WINDOW_UPDATE, absl::nullopt},
{spdy::SpdyFrameType::DATA, 25},
{spdy::SpdyFrameType::RST_STREAM, absl::nullopt},
{spdy::SpdyFrameType::GOAWAY, 42},
{spdy::SpdyFrameType::HEADERS, 19}}));
+ EXPECT_THAT(
+ frame_sequence,
+ ContainsFrames(
+ {spdy::SpdyFrameType::PING, spdy::SpdyFrameType::WINDOW_UPDATE,
+ spdy::SpdyFrameType::DATA, spdy::SpdyFrameType::RST_STREAM,
+ spdy::SpdyFrameType::GOAWAY, spdy::SpdyFrameType::HEADERS}));
}
} // namespace