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