| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_net_log_params.h" | 5 #include "net/websockets/websocket_net_log_params.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 13 | 13 |
| 14 TEST(NetLogWebSocketHandshakeParameterTest, ToValue) { | 14 TEST(NetLogWebSocketHandshakeParameterTest, ToValue) { |
| 15 ListValue* list = new ListValue(); | 15 base::ListValue* list = new base::ListValue(); |
| 16 list->Append(new StringValue("GET /demo HTTP/1.1")); | 16 list->Append(new base::StringValue("GET /demo HTTP/1.1")); |
| 17 list->Append(new StringValue("Host: example.com")); | 17 list->Append(new base::StringValue("Host: example.com")); |
| 18 list->Append(new StringValue("Connection: Upgrade")); | 18 list->Append(new base::StringValue("Connection: Upgrade")); |
| 19 list->Append(new StringValue("Sec-WebSocket-Key2: 12998 5 Y3 1 .P00")); | 19 list->Append(new base::StringValue("Sec-WebSocket-Key2: 12998 5 Y3 1 .P00")); |
| 20 list->Append(new StringValue("Sec-WebSocket-Protocol: sample")); | 20 list->Append(new base::StringValue("Sec-WebSocket-Protocol: sample")); |
| 21 list->Append(new StringValue("Upgrade: WebSocket")); | 21 list->Append(new base::StringValue("Upgrade: WebSocket")); |
| 22 list->Append(new StringValue("Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5")); | 22 list->Append(new base::StringValue( |
| 23 list->Append(new StringValue("Origin: http://example.com")); | 23 "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5")); |
| 24 list->Append(new StringValue(std::string())); | 24 list->Append(new base::StringValue("Origin: http://example.com")); |
| 25 list->Append(new StringValue("\\x00\\x01\\x0a\\x0d\\xff\\xfe\\x0d\\x0a")); | 25 list->Append(new base::StringValue(std::string())); |
| 26 list->Append(new base::StringValue( |
| 27 "\\x00\\x01\\x0a\\x0d\\xff\\xfe\\x0d\\x0a")); |
| 26 | 28 |
| 27 DictionaryValue expected; | 29 base::DictionaryValue expected; |
| 28 expected.Set("headers", list); | 30 expected.Set("headers", list); |
| 29 | 31 |
| 30 const std::string key("\x00\x01\x0a\x0d\xff\xfe\x0d\x0a", 8); | 32 const std::string key("\x00\x01\x0a\x0d\xff\xfe\x0d\x0a", 8); |
| 31 const std::string testInput = | 33 const std::string testInput = |
| 32 "GET /demo HTTP/1.1\r\n" | 34 "GET /demo HTTP/1.1\r\n" |
| 33 "Host: example.com\r\n" | 35 "Host: example.com\r\n" |
| 34 "Connection: Upgrade\r\n" | 36 "Connection: Upgrade\r\n" |
| 35 "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n" | 37 "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n" |
| 36 "Sec-WebSocket-Protocol: sample\r\n" | 38 "Sec-WebSocket-Protocol: sample\r\n" |
| 37 "Upgrade: WebSocket\r\n" | 39 "Upgrade: WebSocket\r\n" |
| 38 "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n" | 40 "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n" |
| 39 "Origin: http://example.com\r\n" | 41 "Origin: http://example.com\r\n" |
| 40 "\r\n" + | 42 "\r\n" + |
| 41 key; | 43 key; |
| 42 | 44 |
| 43 scoped_ptr<Value> actual( | 45 scoped_ptr<base::Value> actual( |
| 44 net::NetLogWebSocketHandshakeCallback(&testInput, | 46 net::NetLogWebSocketHandshakeCallback(&testInput, |
| 45 net::NetLog::LOG_BASIC)); | 47 net::NetLog::LOG_BASIC)); |
| 46 | 48 |
| 47 EXPECT_TRUE(expected.Equals(actual.get())); | 49 EXPECT_TRUE(expected.Equals(actual.get())); |
| 48 } | 50 } |
| OLD | NEW |