Index: net/http2/decoder/http2_frame_decoder_test.cc |
diff --git a/net/http2/decoder/http2_frame_decoder_test.cc b/net/http2/decoder/http2_frame_decoder_test.cc |
index ee1e9e4968e683543576aa45de2d9b24b4cbbf5e..0d1d2783220871910be07b6a8f64de0ba7901cc2 100644 |
--- a/net/http2/decoder/http2_frame_decoder_test.cc |
+++ b/net/http2/decoder/http2_frame_decoder_test.cc |
@@ -10,8 +10,6 @@ |
#include <string> |
#include <vector> |
-#include "base/bind.h" |
-#include "base/bind_helpers.h" |
#include "base/logging.h" |
#include "net/http2/decoder/frame_parts.h" |
#include "net/http2/decoder/frame_parts_collector_listener.h" |
@@ -38,24 +36,6 @@ class Http2FrameDecoderPeer { |
namespace { |
class Http2FrameDecoderTest : public RandomDecoderTest { |
- public: |
- AssertionResult ValidatorForDecodePayloadExpectingError( |
- const FrameParts& expected, |
- const DecodeBuffer& input, |
- DecodeStatus status) { |
- VERIFY_EQ(status, DecodeStatus::kDecodeError); |
- VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected)); |
- } |
- |
- AssertionResult ValidatorForBeyondMaximum(const FrameParts& expected, |
- const DecodeBuffer& input, |
- DecodeStatus status) { |
- VERIFY_EQ(status, DecodeStatus::kDecodeError); |
- // The decoder detects this error after decoding the header, and without |
- // trying to decode the payload. |
- VERIFY_EQ(input.Offset(), Http2FrameHeader::EncodedSize()); |
- VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected)); |
- } |
protected: |
void SetUp() override { |
@@ -152,13 +132,6 @@ class Http2FrameDecoderTest : public RandomDecoderTest { |
validator); |
} |
- AssertionResult ValidatorForDecodePayloadAndValidateSeveralWays( |
- const FrameParts& expected, |
- const DecodeBuffer& input, |
- DecodeStatus status) { |
- VERIFY_EQ(status, DecodeStatus::kDecodeDone); |
- VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected)); |
- } |
// Decode one frame's payload and confirm that the listener recorded the |
// expected FrameParts instance, and only one FrameParts instance. The |
@@ -167,9 +140,11 @@ class Http2FrameDecoderTest : public RandomDecoderTest { |
AssertionResult DecodePayloadAndValidateSeveralWays( |
StringPiece payload, |
const FrameParts& expected) { |
- Validator validator = base::Bind( |
- &Http2FrameDecoderTest::ValidatorForDecodePayloadAndValidateSeveralWays, |
- base::Unretained(this), base::ConstRef(expected)); |
+ Validator validator = [&expected, this]( |
+ const DecodeBuffer& input, DecodeStatus status) -> AssertionResult { |
+ VERIFY_EQ(status, DecodeStatus::kDecodeDone); |
+ VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected)); |
+ }; |
ResetDecodeSpeedCounters(); |
VERIFY_SUCCESS(DecodePayloadAndValidateSeveralWays( |
payload, ValidateDoneAndEmpty(validator))); |
@@ -209,12 +184,14 @@ class Http2FrameDecoderTest : public RandomDecoderTest { |
template <size_t N> |
AssertionResult DecodePayloadExpectingError(const char (&buf)[N], |
const FrameParts& expected) { |
+ auto validator = [&expected, this](const DecodeBuffer& input, |
+ DecodeStatus status) -> AssertionResult { |
+ VERIFY_EQ(status, DecodeStatus::kDecodeError); |
+ VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected)); |
+ }; |
ResetDecodeSpeedCounters(); |
- EXPECT_TRUE(DecodePayloadAndValidateSeveralWays( |
- ToStringPiece(buf), |
- base::Bind( |
- &Http2FrameDecoderTest::ValidatorForDecodePayloadExpectingError, |
- base::Unretained(this), expected))); |
+ EXPECT_TRUE( |
+ DecodePayloadAndValidateSeveralWays(ToStringPiece(buf), validator)); |
EXPECT_GT(fast_decode_count_, 0u); |
EXPECT_GT(slow_decode_count_, 0u); |
return AssertionSuccess(); |
@@ -865,11 +842,17 @@ TEST_F(Http2FrameDecoderTest, BeyondMaximum) { |
Http2FrameFlag::FLAG_END_STREAM | Http2FrameFlag::FLAG_PADDED, 2); |
FrameParts expected(header); |
expected.has_frame_size_error = true; |
+ auto validator = [&expected, this](const DecodeBuffer& input, |
+ DecodeStatus status) -> AssertionResult { |
+ VERIFY_EQ(status, DecodeStatus::kDecodeError); |
+ // The decoder detects this error after decoding the header, and without |
+ // trying to decode the payload. |
+ VERIFY_EQ(input.Offset(), Http2FrameHeader::EncodedSize()); |
+ VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected)); |
+ }; |
ResetDecodeSpeedCounters(); |
- EXPECT_TRUE(DecodePayloadAndValidateSeveralWays( |
- ToStringPiece(kFrameData), |
- base::Bind(&Http2FrameDecoderTest::ValidatorForBeyondMaximum, |
- base::Unretained(this), expected))); |
+ EXPECT_TRUE(DecodePayloadAndValidateSeveralWays(ToStringPiece(kFrameData), |
+ validator)); |
EXPECT_GT(fast_decode_count_, 0u); |
EXPECT_GT(slow_decode_count_, 0u); |
} |