| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/spdy/spdy_frame_builder.h" | 5 #include "net/spdy/spdy_frame_builder.h" |
| 6 | 6 |
| 7 #include "net/spdy/spdy_framer.h" | 7 #include "net/spdy/spdy_framer.h" |
| 8 #include "net/spdy/spdy_protocol.h" | 8 #include "net/spdy/spdy_protocol.h" |
| 9 #include "testing/platform_test.h" | 9 #include "testing/platform_test.h" |
| 10 | 10 |
| 11 namespace net { | 11 namespace net { |
| 12 | 12 |
| 13 class SpdyFrameBuilderTest : public ::testing::TestWithParam<SpdyMajorVersion> { | 13 class SpdyFrameBuilderTest : public ::testing::TestWithParam<SpdyMajorVersion> { |
| 14 protected: | 14 protected: |
| 15 void SetUp() override { spdy_version_ = GetParam(); } | 15 void SetUp() override { spdy_version_ = GetParam(); } |
| 16 | 16 |
| 17 // Major version of SPDY protocol to be used. | 17 // Major version of SPDY protocol to be used. |
| 18 SpdyMajorVersion spdy_version_; | 18 SpdyMajorVersion spdy_version_; |
| 19 }; | 19 }; |
| 20 | 20 |
| 21 // All tests are run with three different SPDY versions: SPDY/2, SPDY/3 and | 21 // All tests are run with SPDY/3 and HTTP/2. |
| 22 // HTTP/2. | |
| 23 INSTANTIATE_TEST_CASE_P(SpdyFrameBuilderTests, | 22 INSTANTIATE_TEST_CASE_P(SpdyFrameBuilderTests, |
| 24 SpdyFrameBuilderTest, | 23 SpdyFrameBuilderTest, |
| 25 ::testing::Values(SPDY2, SPDY3, HTTP2)); | 24 ::testing::Values(SPDY3, HTTP2)); |
| 26 | 25 |
| 27 TEST_P(SpdyFrameBuilderTest, GetWritableBuffer) { | 26 TEST_P(SpdyFrameBuilderTest, GetWritableBuffer) { |
| 28 const size_t builder_size = 10; | 27 const size_t builder_size = 10; |
| 29 SpdyFrameBuilder builder(builder_size, spdy_version_); | 28 SpdyFrameBuilder builder(builder_size, spdy_version_); |
| 30 char* writable_buffer = builder.GetWritableBuffer(builder_size); | 29 char* writable_buffer = builder.GetWritableBuffer(builder_size); |
| 31 memset(writable_buffer, ~1, builder_size); | 30 memset(writable_buffer, ~1, builder_size); |
| 32 EXPECT_TRUE(builder.Seek(builder_size)); | 31 EXPECT_TRUE(builder.Seek(builder_size)); |
| 33 scoped_ptr<SpdyFrame> frame(builder.take()); | 32 scoped_ptr<SpdyFrame> frame(builder.take()); |
| 34 char expected[builder_size]; | 33 char expected[builder_size]; |
| 35 memset(expected, ~1, builder_size); | 34 memset(expected, ~1, builder_size); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 scoped_ptr<SpdyFrame> expected(framer.SerializeHeaders(headers_ir)); | 68 scoped_ptr<SpdyFrame> expected(framer.SerializeHeaders(headers_ir)); |
| 70 SpdyFrameBuilder builder(expected->size(), spdy_version_); | 69 SpdyFrameBuilder builder(expected->size(), spdy_version_); |
| 71 builder.BeginNewFrame(framer, HEADERS, 0, 1); | 70 builder.BeginNewFrame(framer, HEADERS, 0, 1); |
| 72 builder.OverwriteFlags(framer, HEADERS_FLAG_END_HEADERS); | 71 builder.OverwriteFlags(framer, HEADERS_FLAG_END_HEADERS); |
| 73 scoped_ptr<SpdyFrame> built(builder.take()); | 72 scoped_ptr<SpdyFrame> built(builder.take()); |
| 74 EXPECT_EQ(base::StringPiece(expected->data(), expected->size()), | 73 EXPECT_EQ(base::StringPiece(expected->data(), expected->size()), |
| 75 base::StringPiece(built->data(), built->size())); | 74 base::StringPiece(built->data(), built->size())); |
| 76 } | 75 } |
| 77 | 76 |
| 78 } // namespace net | 77 } // namespace net |
| OLD | NEW |