Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(401)

Side by Side Diff: net/websockets/websocket_frame_test.cc

Issue 1399303002: net/websockets: Convert int types from basictypes.h to the ones from stdint.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: websocket_deflate_stream.cc Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/websockets/websocket_frame_parser_test.cc ('k') | net/websockets/websocket_test_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_frame.h" 5 #include "net/websockets/websocket_frame.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/memory/aligned_memory.h" 12 #include "base/memory/aligned_memory.h"
13 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace net { 16 namespace net {
17 17
18 namespace { 18 namespace {
19 19
20 TEST(WebSocketFrameHeaderTest, FrameLengths) { 20 TEST(WebSocketFrameHeaderTest, FrameLengths) {
21 struct TestCase { 21 struct TestCase {
22 const char* frame_header; 22 const char* frame_header;
23 size_t frame_header_length; 23 size_t frame_header_length;
24 uint64 frame_length; 24 uint64_t frame_length;
25 }; 25 };
26 static const TestCase kTests[] = { 26 static const TestCase kTests[] = {
27 { "\x81\x00", 2, UINT64_C(0) }, 27 { "\x81\x00", 2, UINT64_C(0) },
28 { "\x81\x7D", 2, UINT64_C(125) }, 28 { "\x81\x7D", 2, UINT64_C(125) },
29 { "\x81\x7E\x00\x7E", 4, UINT64_C(126) }, 29 { "\x81\x7E\x00\x7E", 4, UINT64_C(126) },
30 { "\x81\x7E\xFF\xFF", 4, UINT64_C(0xFFFF) }, 30 { "\x81\x7E\xFF\xFF", 4, UINT64_C(0xFFFF) },
31 { "\x81\x7F\x00\x00\x00\x00\x00\x01\x00\x00", 10, UINT64_C(0x10000) }, 31 { "\x81\x7F\x00\x00\x00\x00\x00\x01\x00\x00", 10, UINT64_C(0x10000) },
32 { "\x81\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 10, 32 { "\x81\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 10,
33 UINT64_C(0x7FFFFFFFFFFFFFFF) } 33 UINT64_C(0x7FFFFFFFFFFFFFFF) }
34 }; 34 };
(...skipping 17 matching lines...) Expand all
52 52
53 TEST(WebSocketFrameHeaderTest, FrameLengthsWithMasking) { 53 TEST(WebSocketFrameHeaderTest, FrameLengthsWithMasking) {
54 static const char kMaskingKey[] = "\xDE\xAD\xBE\xEF"; 54 static const char kMaskingKey[] = "\xDE\xAD\xBE\xEF";
55 static_assert( 55 static_assert(
56 arraysize(kMaskingKey) - 1 == WebSocketFrameHeader::kMaskingKeyLength, 56 arraysize(kMaskingKey) - 1 == WebSocketFrameHeader::kMaskingKeyLength,
57 "incorrect masking key size"); 57 "incorrect masking key size");
58 58
59 struct TestCase { 59 struct TestCase {
60 const char* frame_header; 60 const char* frame_header;
61 size_t frame_header_length; 61 size_t frame_header_length;
62 uint64 frame_length; 62 uint64_t frame_length;
63 }; 63 };
64 static const TestCase kTests[] = { 64 static const TestCase kTests[] = {
65 { "\x81\x80\xDE\xAD\xBE\xEF", 6, UINT64_C(0) }, 65 { "\x81\x80\xDE\xAD\xBE\xEF", 6, UINT64_C(0) },
66 { "\x81\xFD\xDE\xAD\xBE\xEF", 6, UINT64_C(125) }, 66 { "\x81\xFD\xDE\xAD\xBE\xEF", 6, UINT64_C(125) },
67 { "\x81\xFE\x00\x7E\xDE\xAD\xBE\xEF", 8, UINT64_C(126) }, 67 { "\x81\xFE\x00\x7E\xDE\xAD\xBE\xEF", 8, UINT64_C(126) },
68 { "\x81\xFE\xFF\xFF\xDE\xAD\xBE\xEF", 8, UINT64_C(0xFFFF) }, 68 { "\x81\xFE\xFF\xFF\xDE\xAD\xBE\xEF", 8, UINT64_C(0xFFFF) },
69 { "\x81\xFF\x00\x00\x00\x00\x00\x01\x00\x00\xDE\xAD\xBE\xEF", 14, 69 { "\x81\xFF\x00\x00\x00\x00\x00\x01\x00\x00\xDE\xAD\xBE\xEF", 14,
70 UINT64_C(0x10000) }, 70 UINT64_C(0x10000) },
71 { "\x81\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDE\xAD\xBE\xEF", 14, 71 { "\x81\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDE\xAD\xBE\xEF", 14,
72 UINT64_C(0x7FFFFFFFFFFFFFFF) } 72 UINT64_C(0x7FFFFFFFFFFFFFFF) }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 std::vector<char> output(expected_output.size()); 172 std::vector<char> output(expected_output.size());
173 EXPECT_EQ(static_cast<int>(expected_output.size()), 173 EXPECT_EQ(static_cast<int>(expected_output.size()),
174 WriteWebSocketFrameHeader( 174 WriteWebSocketFrameHeader(
175 header, NULL, &output.front(), output.size())); 175 header, NULL, &output.front(), output.size()));
176 EXPECT_EQ(expected_output, output); 176 EXPECT_EQ(expected_output, output);
177 } 177 }
178 } 178 }
179 179
180 TEST(WebSocketFrameHeaderTest, InsufficientBufferSize) { 180 TEST(WebSocketFrameHeaderTest, InsufficientBufferSize) {
181 struct TestCase { 181 struct TestCase {
182 uint64 payload_length; 182 uint64_t payload_length;
183 bool masked; 183 bool masked;
184 size_t expected_header_size; 184 size_t expected_header_size;
185 }; 185 };
186 static const TestCase kTests[] = { 186 static const TestCase kTests[] = {
187 { UINT64_C(0), false, 2u }, 187 { UINT64_C(0), false, 2u },
188 { UINT64_C(125), false, 2u }, 188 { UINT64_C(125), false, 2u },
189 { UINT64_C(126), false, 4u }, 189 { UINT64_C(126), false, 4u },
190 { UINT64_C(0xFFFF), false, 4u }, 190 { UINT64_C(0xFFFF), false, 4u },
191 { UINT64_C(0x10000), false, 10u }, 191 { UINT64_C(0x10000), false, 10u },
192 { UINT64_C(0x7FFFFFFFFFFFFFFF), false, 10u }, 192 { UINT64_C(0x7FFFFFFFFFFFFFFF), false, 10u },
(...skipping 18 matching lines...) Expand all
211 EXPECT_EQ( 211 EXPECT_EQ(
212 ERR_INVALID_ARGUMENT, 212 ERR_INVALID_ARGUMENT,
213 WriteWebSocketFrameHeader( 213 WriteWebSocketFrameHeader(
214 header, NULL, dummy_buffer, kTests[i].expected_header_size - 1)); 214 header, NULL, dummy_buffer, kTests[i].expected_header_size - 1));
215 } 215 }
216 } 216 }
217 217
218 TEST(WebSocketFrameTest, MaskPayload) { 218 TEST(WebSocketFrameTest, MaskPayload) {
219 struct TestCase { 219 struct TestCase {
220 const char* masking_key; 220 const char* masking_key;
221 uint64 frame_offset; 221 uint64_t frame_offset;
222 const char* input; 222 const char* input;
223 const char* output; 223 const char* output;
224 size_t data_length; 224 size_t data_length;
225 }; 225 };
226 static const TestCase kTests[] = { 226 static const TestCase kTests[] = {
227 { "\xDE\xAD\xBE\xEF", 0, "FooBar", "\x98\xC2\xD1\xAD\xBF\xDF", 6 }, 227 { "\xDE\xAD\xBE\xEF", 0, "FooBar", "\x98\xC2\xD1\xAD\xBF\xDF", 6 },
228 { "\xDE\xAD\xBE\xEF", 1, "FooBar", "\xEB\xD1\x80\x9C\xCC\xCC", 6 }, 228 { "\xDE\xAD\xBE\xEF", 1, "FooBar", "\xEB\xD1\x80\x9C\xCC\xCC", 6 },
229 { "\xDE\xAD\xBE\xEF", 2, "FooBar", "\xF8\x80\xB1\xEF\xDF\x9D", 6 }, 229 { "\xDE\xAD\xBE\xEF", 2, "FooBar", "\xF8\x80\xB1\xEF\xDF\x9D", 6 },
230 { "\xDE\xAD\xBE\xEF", 3, "FooBar", "\xA9\xB1\xC2\xFC\x8E\xAC", 6 }, 230 { "\xDE\xAD\xBE\xEF", 3, "FooBar", "\xA9\xB1\xC2\xFC\x8E\xAC", 6 },
231 { "\xDE\xAD\xBE\xEF", 4, "FooBar", "\x98\xC2\xD1\xAD\xBF\xDF", 6 }, 231 { "\xDE\xAD\xBE\xEF", 4, "FooBar", "\x98\xC2\xD1\xAD\xBF\xDF", 6 },
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 EXPECT_FALSE(Frame::IsKnownControlOpCode(0xF)); 386 EXPECT_FALSE(Frame::IsKnownControlOpCode(0xF));
387 387
388 // Check that out-of-range opcodes return false 388 // Check that out-of-range opcodes return false
389 EXPECT_FALSE(Frame::IsKnownControlOpCode(-1)); 389 EXPECT_FALSE(Frame::IsKnownControlOpCode(-1));
390 EXPECT_FALSE(Frame::IsKnownControlOpCode(0xFF)); 390 EXPECT_FALSE(Frame::IsKnownControlOpCode(0xFF));
391 } 391 }
392 392
393 } // namespace 393 } // namespace
394 394
395 } // namespace net 395 } // namespace net
OLDNEW
« no previous file with comments | « net/websockets/websocket_frame_parser_test.cc ('k') | net/websockets/websocket_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698