| 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 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 ::testing::Values(SPDY2, SPDY3, SPDY4)); | 46 ::testing::Values(SPDY2, SPDY3, SPDY4)); |
| 47 | 47 |
| 48 TEST_P(SpdyFrameBuilderTest, RewriteLength) { | 48 TEST_P(SpdyFrameBuilderTest, RewriteLength) { |
| 49 // Create an empty SETTINGS frame both via framer and manually via builder. | 49 // Create an empty SETTINGS frame both via framer and manually via builder. |
| 50 // The one created via builder is initially given the incorrect length, but | 50 // The one created via builder is initially given the incorrect length, but |
| 51 // then is corrected via RewriteLength(). | 51 // then is corrected via RewriteLength(). |
| 52 SpdyFramer framer(spdy_version_); | 52 SpdyFramer framer(spdy_version_); |
| 53 SettingsMap settings; | 53 SettingsMap settings; |
| 54 scoped_ptr<SpdyFrame> expected(framer.CreateSettings(settings)); | 54 scoped_ptr<SpdyFrame> expected(framer.CreateSettings(settings)); |
| 55 SpdyFrameBuilder builder(expected->size() + 1); | 55 SpdyFrameBuilder builder(expected->size() + 1); |
| 56 builder.WriteControlFrameHeader(framer, SETTINGS, 0); | 56 if (spdy_version_ < 4) { |
| 57 builder.WriteControlFrameHeader(framer, SETTINGS, 0); |
| 58 } else { |
| 59 builder.WriteFramePrefix(framer, SETTINGS, 0, 0); |
| 60 } |
| 57 builder.WriteUInt32(0); // Write the number of settings. | 61 builder.WriteUInt32(0); // Write the number of settings. |
| 58 EXPECT_TRUE(builder.GetWritableBuffer(1) != NULL); | 62 EXPECT_TRUE(builder.GetWritableBuffer(1) != NULL); |
| 59 builder.RewriteLength(framer); | 63 builder.RewriteLength(framer); |
| 60 scoped_ptr<SpdyFrame> built(builder.take()); | 64 scoped_ptr<SpdyFrame> built(builder.take()); |
| 61 EXPECT_EQ(base::StringPiece(expected->data(), expected->size()), | 65 EXPECT_EQ(base::StringPiece(expected->data(), expected->size()), |
| 62 base::StringPiece(built->data(), expected->size())); | 66 base::StringPiece(built->data(), expected->size())); |
| 63 } | 67 } |
| 64 | 68 |
| 65 } // namespace net | 69 } // namespace net |
| OLD | NEW |