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

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

Issue 11263040: Make String.charCodes a getter. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month 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:io"); 5 #import("dart:io");
6 6
7 void testUtf8() { 7 void testUtf8() {
8 List<int> data = [0x01, 8 List<int> data = [0x01,
9 0x7f, 9 0x7f,
10 0xc2, 0x80, 10 0xc2, 0x80,
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 } 90 }
91 } 91 }
92 92
93 void streamClosed() { 93 void streamClosed() {
94 Expect.equals(true, stream.closed); 94 Expect.equals(true, stream.closed);
95 Expect.equals(2, stage); 95 Expect.equals(2, stage);
96 } 96 }
97 97
98 stream.onData = stringData; 98 stream.onData = stringData;
99 stream.onClosed = streamClosed; 99 stream.onClosed = streamClosed;
100 s.write("Line".charCodes()); 100 s.write("Line".charCodes);
101 } 101 }
102 102
103 void testReadLine2() { 103 void testReadLine2() {
104 ListInputStream s = new ListInputStream(); 104 ListInputStream s = new ListInputStream();
105 StringInputStream stream = new StringInputStream(s); 105 StringInputStream stream = new StringInputStream(s);
106 var stage = 0; 106 var stage = 0;
107 107
108 void stringData() { 108 void stringData() {
109 var line; 109 var line;
110 if (stage == 0) { 110 if (stage == 0) {
111 Expect.equals(21, stream.available()); 111 Expect.equals(21, stream.available());
112 line = stream.readLine(); 112 line = stream.readLine();
113 Expect.equals("Line1", line); 113 Expect.equals("Line1", line);
114 Expect.equals(15, stream.available()); 114 Expect.equals(15, stream.available());
115 line = stream.readLine(); 115 line = stream.readLine();
116 Expect.equals("Line2", line); 116 Expect.equals("Line2", line);
117 Expect.equals(8, stream.available()); 117 Expect.equals(8, stream.available());
118 line = stream.readLine(); 118 line = stream.readLine();
119 Expect.equals("Line3", line); 119 Expect.equals("Line3", line);
120 line = stream.readLine(); 120 line = stream.readLine();
121 Expect.equals(2, stream.available()); 121 Expect.equals(2, stream.available());
122 Expect.equals(null, line); 122 Expect.equals(null, line);
123 stage++; 123 stage++;
124 s.write("ne4\n".charCodes()); 124 s.write("ne4\n".charCodes);
125 } else if (stage == 1) { 125 } else if (stage == 1) {
126 Expect.equals(6, stream.available()); 126 Expect.equals(6, stream.available());
127 line = stream.readLine(); 127 line = stream.readLine();
128 Expect.equals("Line4", line); 128 Expect.equals("Line4", line);
129 Expect.equals(0, stream.available()); 129 Expect.equals(0, stream.available());
130 line = stream.readLine(); 130 line = stream.readLine();
131 Expect.equals(null, line); 131 Expect.equals(null, line);
132 stage++; 132 stage++;
133 s.write("\n\n\r\n\r\n\r\r".charCodes()); 133 s.write("\n\n\r\n\r\n\r\r".charCodes);
134 } else if (stage == 2) { 134 } else if (stage == 2) {
135 // Expect 5 empty lines. As long as the stream is not closed the 135 // Expect 5 empty lines. As long as the stream is not closed the
136 // final \r cannot be interpreted as a end of line. 136 // final \r cannot be interpreted as a end of line.
137 Expect.equals(8, stream.available()); 137 Expect.equals(8, stream.available());
138 for (int i = 0; i < 5; i++) { 138 for (int i = 0; i < 5; i++) {
139 line = stream.readLine(); 139 line = stream.readLine();
140 Expect.equals("", line); 140 Expect.equals("", line);
141 } 141 }
142 Expect.equals(1, stream.available()); 142 Expect.equals(1, stream.available());
143 line = stream.readLine(); 143 line = stream.readLine();
(...skipping 11 matching lines...) Expand all
155 } 155 }
156 } 156 }
157 157
158 void streamClosed() { 158 void streamClosed() {
159 Expect.equals(4, stage); 159 Expect.equals(4, stage);
160 Expect.equals(true, stream.closed); 160 Expect.equals(true, stream.closed);
161 } 161 }
162 162
163 stream.onLine = stringData; 163 stream.onLine = stringData;
164 stream.onClosed = streamClosed; 164 stream.onClosed = streamClosed;
165 s.write("Line1\nLine2\r\nLine3\rLi".charCodes()); 165 s.write("Line1\nLine2\r\nLine3\rLi".charCodes);
166 } 166 }
167 167
168 void testReadChunks() { 168 void testReadChunks() {
169 ListInputStream s = new ListInputStream(); 169 ListInputStream s = new ListInputStream();
170 StringInputStream stream = new StringInputStream(s); 170 StringInputStream stream = new StringInputStream(s);
171 171
172 void stringData() { 172 void stringData() {
173 var data; 173 var data;
174 Expect.equals(8, stream.available()); 174 Expect.equals(8, stream.available());
175 data = stream.read(1); 175 data = stream.read(1);
(...skipping 15 matching lines...) Expand all
191 Expect.equals(null, data); 191 Expect.equals(null, data);
192 Expect.equals(0, stream.available()); 192 Expect.equals(0, stream.available());
193 data = stream.read(3); 193 data = stream.read(3);
194 Expect.equals(null, data); 194 Expect.equals(null, data);
195 Expect.equals(0, stream.available()); 195 Expect.equals(0, stream.available());
196 data = stream.read(); 196 data = stream.read();
197 Expect.equals(null, data); 197 Expect.equals(null, data);
198 Expect.equals(0, stream.available()); 198 Expect.equals(0, stream.available());
199 } 199 }
200 200
201 s.write("ABCD1234".charCodes()); 201 s.write("ABCD1234".charCodes);
202 stream.onData = stringData; 202 stream.onData = stringData;
203 } 203 }
204 204
205 void testReadMixed() { 205 void testReadMixed() {
206 ListInputStream s = new ListInputStream(); 206 ListInputStream s = new ListInputStream();
207 StringInputStream stream = new StringInputStream(s); 207 StringInputStream stream = new StringInputStream(s);
208 var stage = 0; 208 var stage = 0;
209 209
210 void stringData() { 210 void stringData() {
211 var data; 211 var data;
212 if (stage == 0) { 212 if (stage == 0) {
213 Expect.equals(11, stream.available()); 213 Expect.equals(11, stream.available());
214 data = stream.read(2); 214 data = stream.read(2);
215 Expect.equals("A\r", data); 215 Expect.equals("A\r", data);
216 Expect.equals(9, stream.available()); 216 Expect.equals(9, stream.available());
217 data = stream.readLine(); 217 data = stream.readLine();
218 Expect.equals("", data); 218 Expect.equals("", data);
219 Expect.equals(8, stream.available()); 219 Expect.equals(8, stream.available());
220 data = stream.read(4); 220 data = stream.read(4);
221 Expect.equals("BCD\n", data); 221 Expect.equals("BCD\n", data);
222 Expect.equals(4, stream.available()); 222 Expect.equals(4, stream.available());
223 data = stream.readLine(); 223 data = stream.readLine();
224 Expect.equals(null, data); 224 Expect.equals(null, data);
225 data = stream.read(4); 225 data = stream.read(4);
226 Expect.equals("1234", data); 226 Expect.equals("1234", data);
227 s.write("A\r\nBCD\n1234".charCodes()); 227 s.write("A\r\nBCD\n1234".charCodes);
228 stage++; 228 stage++;
229 } else if (stage == 1) { 229 } else if (stage == 1) {
230 Expect.equals(11, stream.available()); 230 Expect.equals(11, stream.available());
231 data = stream.read(1); 231 data = stream.read(1);
232 Expect.equals("A", data); 232 Expect.equals("A", data);
233 Expect.equals(10, stream.available()); 233 Expect.equals(10, stream.available());
234 data = stream.read(1); 234 data = stream.read(1);
235 Expect.equals("\r", data); 235 Expect.equals("\r", data);
236 Expect.equals(9, stream.available()); 236 Expect.equals(9, stream.available());
237 data = stream.read(1); 237 data = stream.read(1);
238 Expect.equals("\n", data); 238 Expect.equals("\n", data);
239 Expect.equals(8, stream.available()); 239 Expect.equals(8, stream.available());
240 data = stream.readLine(); 240 data = stream.readLine();
241 Expect.equals("BCD", data); 241 Expect.equals("BCD", data);
242 data = stream.readLine(); 242 data = stream.readLine();
243 Expect.equals(null, data); 243 Expect.equals(null, data);
244 data = stream.read(4); 244 data = stream.read(4);
245 Expect.equals("1234", data); 245 Expect.equals("1234", data);
246 s.write("A\r\nBCD\n1234".charCodes()); 246 s.write("A\r\nBCD\n1234".charCodes);
247 stage++; 247 stage++;
248 } else if (stage == 2) { 248 } else if (stage == 2) {
249 Expect.equals(11, stream.available()); 249 Expect.equals(11, stream.available());
250 data = stream.read(7); 250 data = stream.read(7);
251 Expect.equals("A\r\nBCD\n", data); 251 Expect.equals("A\r\nBCD\n", data);
252 Expect.equals(4, stream.available()); 252 Expect.equals(4, stream.available());
253 data = stream.readLine(); 253 data = stream.readLine();
254 Expect.equals(null, data); 254 Expect.equals(null, data);
255 data = stream.read(); 255 data = stream.read();
256 Expect.equals("1234", data); 256 Expect.equals("1234", data);
257 stage++; 257 stage++;
258 s.markEndOfStream(); 258 s.markEndOfStream();
259 } 259 }
260 } 260 }
261 261
262 void streamClosed() { 262 void streamClosed() {
263 Expect.equals(3, stage); 263 Expect.equals(3, stage);
264 Expect.equals(true, stream.closed); 264 Expect.equals(true, stream.closed);
265 } 265 }
266 266
267 s.write("A\r\nBCD\n1234".charCodes()); 267 s.write("A\r\nBCD\n1234".charCodes);
268 stream.onData = stringData; 268 stream.onData = stringData;
269 stream.onClosed = streamClosed; 269 stream.onClosed = streamClosed;
270 } 270 }
271 271
272 class TestException implements Exception { 272 class TestException implements Exception {
273 TestException(); 273 TestException();
274 } 274 }
275 275
276 class ErrorInputStream implements InputStream { 276 class ErrorInputStream implements InputStream {
277 ErrorInputStream(); 277 ErrorInputStream();
(...skipping 23 matching lines...) Expand all
301 main() { 301 main() {
302 testUtf8(); 302 testUtf8();
303 testLatin1(); 303 testLatin1();
304 testAscii(); 304 testAscii();
305 testReadLine1(); 305 testReadLine1();
306 testReadLine2(); 306 testReadLine2();
307 testReadChunks(); 307 testReadChunks();
308 testReadMixed(); 308 testReadMixed();
309 testErrorHandler(); 309 testErrorHandler();
310 } 310 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698