Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(680)

Unified Diff: net/http2/decoder/http2_frame_decoder_test.cc

Issue 2572343002: Use std::function instead of base::Callback in net/http2/. (Closed)
Patch Set: Remove unreachable return statements. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 c2ec0a0dbc2650b97306d49afd1228c63de49afe..3f788d87d9889536c8c89933d2cbe284e358c64e 100644
--- a/net/http2/decoder/http2_frame_decoder_test.cc
+++ b/net/http2/decoder/http2_frame_decoder_test.cc
@@ -9,8 +9,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"
@@ -37,24 +35,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 {
@@ -151,13 +131,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
@@ -166,9 +139,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](
James Synge 2017/01/05 21:39:06 I'm curious why "auto validator" became "Validator
Bence 2017/01/06 01:42:40 If I use auto here, I get the compile error below.
+ const DecodeBuffer& input, DecodeStatus status) -> AssertionResult {
+ VERIFY_EQ(status, DecodeStatus::kDecodeDone);
+ VERIFY_AND_RETURN_SUCCESS(VerifyCollected(expected));
+ };
ResetDecodeSpeedCounters();
VERIFY_SUCCESS(DecodePayloadAndValidateSeveralWays(
payload, ValidateDoneAndEmpty(validator)));
@@ -208,12 +183,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();
@@ -864,11 +841,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);
}

Powered by Google App Engine
This is Rietveld 408576698