OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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/websockets/websocket_deflate_stream.h" | 5 #include "net/websockets/websocket_deflate_stream.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <deque> | 8 #include <deque> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "base/bind.h" | 12 #include "base/bind.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/memory/scoped_vector.h" | 15 #include "base/memory/scoped_vector.h" |
16 #include "net/base/completion_callback.h" | 16 #include "net/base/completion_callback.h" |
17 #include "net/base/io_buffer.h" | 17 #include "net/base/io_buffer.h" |
18 #include "net/base/net_errors.h" | 18 #include "net/base/net_errors.h" |
| 19 #include "net/websockets/websocket_deflate_parameters.h" |
19 #include "net/websockets/websocket_deflate_predictor.h" | 20 #include "net/websockets/websocket_deflate_predictor.h" |
20 #include "net/websockets/websocket_deflater.h" | 21 #include "net/websockets/websocket_deflater.h" |
21 #include "net/websockets/websocket_frame.h" | 22 #include "net/websockets/websocket_frame.h" |
22 #include "net/websockets/websocket_inflater.h" | 23 #include "net/websockets/websocket_inflater.h" |
23 #include "net/websockets/websocket_stream.h" | 24 #include "net/websockets/websocket_stream.h" |
24 #include "net/websockets/websocket_test_util.h" | 25 #include "net/websockets/websocket_test_util.h" |
25 #include "testing/gmock/include/gmock/gmock.h" | 26 #include "testing/gmock/include/gmock/gmock.h" |
26 #include "testing/gtest/include/gtest/gtest.h" | 27 #include "testing/gtest/include/gtest/gtest.h" |
27 | 28 |
28 namespace net { | 29 namespace net { |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 ~WebSocketDeflateStreamTest() override {} | 216 ~WebSocketDeflateStreamTest() override {} |
216 | 217 |
217 void SetUp() override { | 218 void SetUp() override { |
218 Initialize(WebSocketDeflater::TAKE_OVER_CONTEXT, kWindowBits); | 219 Initialize(WebSocketDeflater::TAKE_OVER_CONTEXT, kWindowBits); |
219 } | 220 } |
220 | 221 |
221 protected: | 222 protected: |
222 // Initialize deflate_stream_ with the given parameters. | 223 // Initialize deflate_stream_ with the given parameters. |
223 void Initialize(WebSocketDeflater::ContextTakeOverMode mode, | 224 void Initialize(WebSocketDeflater::ContextTakeOverMode mode, |
224 int window_bits) { | 225 int window_bits) { |
| 226 WebSocketDeflateParameters parameters; |
| 227 if (mode == WebSocketDeflater::DO_NOT_TAKE_OVER_CONTEXT) { |
| 228 parameters.SetClientNoContextTakeOver(); |
| 229 } |
| 230 parameters.SetClientMaxWindowBits(window_bits); |
225 mock_stream_ = new testing::StrictMock<MockWebSocketStream>; | 231 mock_stream_ = new testing::StrictMock<MockWebSocketStream>; |
226 predictor_ = new WebSocketDeflatePredictorMock; | 232 predictor_ = new WebSocketDeflatePredictorMock; |
227 deflate_stream_.reset(new WebSocketDeflateStream( | 233 deflate_stream_.reset(new WebSocketDeflateStream( |
228 scoped_ptr<WebSocketStream>(mock_stream_), | 234 scoped_ptr<WebSocketStream>(mock_stream_), parameters, |
229 mode, | |
230 window_bits, | |
231 scoped_ptr<WebSocketDeflatePredictor>(predictor_))); | 235 scoped_ptr<WebSocketDeflatePredictor>(predictor_))); |
232 } | 236 } |
233 | 237 |
234 scoped_ptr<WebSocketDeflateStream> deflate_stream_; | 238 scoped_ptr<WebSocketDeflateStream> deflate_stream_; |
235 // Owned by |deflate_stream_|. | 239 // Owned by |deflate_stream_|. |
236 MockWebSocketStream* mock_stream_; | 240 MockWebSocketStream* mock_stream_; |
237 // Owned by |deflate_stream_|. | 241 // Owned by |deflate_stream_|. |
238 WebSocketDeflatePredictorMock* predictor_; | 242 WebSocketDeflatePredictorMock* predictor_; |
239 }; | 243 }; |
240 | 244 |
(...skipping 1099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1340 const ScopedVector<WebSocketFrame>& frames_passed = *stub.frames(); | 1344 const ScopedVector<WebSocketFrame>& frames_passed = *stub.frames(); |
1341 ASSERT_EQ(1u, frames_passed.size()); | 1345 ASSERT_EQ(1u, frames_passed.size()); |
1342 EXPECT_EQ( | 1346 EXPECT_EQ( |
1343 std::string("r\xce(\xca\xcf\xcd,\xcdM\x1c\xe1\xc0\x19\x1a\x0e\0\0", 17), | 1347 std::string("r\xce(\xca\xcf\xcd,\xcdM\x1c\xe1\xc0\x19\x1a\x0e\0\0", 17), |
1344 ToString(frames_passed[0])); | 1348 ToString(frames_passed[0])); |
1345 } | 1349 } |
1346 | 1350 |
1347 } // namespace | 1351 } // namespace |
1348 | 1352 |
1349 } // namespace net | 1353 } // namespace net |
OLD | NEW |