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

Side by Side Diff: tests/standalone/io/web_socket_protocol_processor_test.dart

Issue 12328104: Change new List(n) to return fixed length list. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "dart:math"; 5 import "dart:math";
6 import "dart:async"; 6 import "dart:async";
7 7
8 part "../../../sdk/lib/io/http.dart"; 8 part "../../../sdk/lib/io/http.dart";
9 part "../../../sdk/lib/io/io_stream_consumer.dart"; 9 part "../../../sdk/lib/io/io_stream_consumer.dart";
10 part "../../../sdk/lib/io/websocket.dart"; 10 part "../../../sdk/lib/io/websocket.dart";
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 int maskingKey, 68 int maskingKey,
69 List<int> data, 69 List<int> data,
70 int offset, 70 int offset,
71 int count) { 71 int count) {
72 int frameSize = 2; 72 int frameSize = 2;
73 if (count > 125) frameSize += 2; 73 if (count > 125) frameSize += 2;
74 if (count > 65535) frameSize += 6; 74 if (count > 65535) frameSize += 6;
75 frameSize += count; 75 frameSize += count;
76 // No masking. 76 // No masking.
77 assert(maskingKey == null); 77 assert(maskingKey == null);
78 List<int> frame = new List<int>.fixedLength(frameSize); 78 List<int> frame = new List<int>(frameSize);
79 int frameIndex = 0; 79 int frameIndex = 0;
80 frame[frameIndex++] = (fin ? 0x80 : 0x00) | opcode; 80 frame[frameIndex++] = (fin ? 0x80 : 0x00) | opcode;
81 if (count < 126) { 81 if (count < 126) {
82 frame[frameIndex++] = count; 82 frame[frameIndex++] = count;
83 } else if (count < 65536) { 83 } else if (count < 65536) {
84 frame[frameIndex++] = 126; 84 frame[frameIndex++] = 126;
85 frame[frameIndex++] = count >> 8; 85 frame[frameIndex++] = count >> 8;
86 frame[frameIndex++] = count & 0xFF; 86 frame[frameIndex++] = count & 0xFF;
87 } else { 87 } else {
88 frame[frameIndex++] = 127; 88 frame[frameIndex++] = 127;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 for (int i = 0; i < frame.length; i += 2) { 129 for (int i = 0; i < frame.length; i += 2) {
130 processor.update(frame, i, i + 1 < frame.length ? 2 : 1); 130 processor.update(frame, i, i + 1 < frame.length ? 2 : 1);
131 } 131 }
132 Expect.equals(0, processor._state); 132 Expect.equals(0, processor._state);
133 Expect.isNull(mc.data); 133 Expect.isNull(mc.data);
134 } 134 }
135 } 135 }
136 136
137 void runTest(int from, int to, int step) { 137 void runTest(int from, int to, int step) {
138 for (int messageLength = from; messageLength < to; messageLength += step) { 138 for (int messageLength = from; messageLength < to; messageLength += step) {
139 List<int> message = new List<int>.fixedLength(messageLength); 139 List<int> message = new List<int>(messageLength);
140 for (int i = 0; i < messageLength; i++) message[i] = i & 0xFF; 140 for (int i = 0; i < messageLength; i++) message[i] = i & 0xFF;
141 testMessage(FRAME_OPCODE_TEXT, message); 141 testMessage(FRAME_OPCODE_TEXT, message);
142 testMessage(FRAME_OPCODE_BINARY, message); 142 testMessage(FRAME_OPCODE_BINARY, message);
143 } 143 }
144 } 144 }
145 145
146 // Test different message sizes. 146 // Test different message sizes.
147 runTest(0, 10, 1); 147 runTest(0, 10, 1);
148 runTest(120, 130, 1); 148 runTest(120, 130, 1);
149 runTest(0, 1000, 100); 149 runTest(0, 1000, 100);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 testFragmentMessage(opcode, message, i); 195 testFragmentMessage(opcode, message, i);
196 } 196 }
197 } else { 197 } else {
198 testFragmentMessage(opcode, message, 10); 198 testFragmentMessage(opcode, message, 10);
199 testFragmentMessage(opcode, message, 100); 199 testFragmentMessage(opcode, message, 100);
200 } 200 }
201 } 201 }
202 202
203 void runTest(int from, int to, int step) { 203 void runTest(int from, int to, int step) {
204 for (int messageLength = from; messageLength < to; messageLength += step) { 204 for (int messageLength = from; messageLength < to; messageLength += step) {
205 List<int> message = new List<int>.fixedLength(messageLength); 205 List<int> message = new List<int>(messageLength);
206 for (int i = 0; i < messageLength; i++) message[i] = i & 0xFF; 206 for (int i = 0; i < messageLength; i++) message[i] = i & 0xFF;
207 testMessageFragmentation(FRAME_OPCODE_TEXT, message); 207 testMessageFragmentation(FRAME_OPCODE_TEXT, message);
208 testMessageFragmentation(FRAME_OPCODE_BINARY, message); 208 testMessageFragmentation(FRAME_OPCODE_BINARY, message);
209 } 209 }
210 } 210 }
211 211
212 // Test different message sizes. 212 // Test different message sizes.
213 runTest(0, 10, 1); 213 runTest(0, 10, 1);
214 runTest(120, 130, 1); 214 runTest(120, 130, 1);
215 runTest(0, 1000, 100); 215 runTest(0, 1000, 100);
216 runTest(65534, 65537, 1); 216 runTest(65534, 65537, 1);
217 print("Fragment messages test, messages $messageCount, frames $frameCount"); 217 print("Fragment messages test, messages $messageCount, frames $frameCount");
218 Expect.equals(messageCount, mc.messageCount); 218 Expect.equals(messageCount, mc.messageCount);
219 Expect.equals(0, mc.closeCount); 219 Expect.equals(0, mc.closeCount);
220 } 220 }
221 221
222 void main() { 222 void main() {
223 testFullMessages(); 223 testFullMessages();
224 testFragmentedMessages(); 224 testFragmentedMessages();
225 } 225 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698