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

Side by Side Diff: tests/standalone/src/FileTest.dart

Issue 9500002: Rename blahHandler to onBlah throughout dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revert temporary edit Created 8 years, 9 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 // Dart test program for testing file I/O. 5 // Dart test program for testing file I/O.
6 6
7 #import("dart:io"); 7 #import("dart:io");
8 #import("dart:isolate"); 8 #import("dart:isolate");
9 9
10 class MyListOfOneElement implements List { 10 class MyListOfOneElement implements List {
(...skipping 10 matching lines...) Expand all
21 static void asyncTestStarted() { ++numLiveAsyncTests; } 21 static void asyncTestStarted() { ++numLiveAsyncTests; }
22 static void asyncTestDone(String name) { 22 static void asyncTestDone(String name) {
23 --numLiveAsyncTests; 23 --numLiveAsyncTests;
24 if (numLiveAsyncTests == 0) { 24 if (numLiveAsyncTests == 0) {
25 deleteTempDirectory(); 25 deleteTempDirectory();
26 } 26 }
27 } 27 }
28 28
29 static void createTempDirectory(Function doNext) { 29 static void createTempDirectory(Function doNext) {
30 tempDirectory = new Directory(''); 30 tempDirectory = new Directory('');
31 tempDirectory.errorHandler = (e) { 31 tempDirectory.onError = (e) {
32 Expect.fail("Failed creating temporary directory"); 32 Expect.fail("Failed creating temporary directory");
33 }; 33 };
34 tempDirectory.createTempHandler = doNext; 34 tempDirectory.onCreateTemp = doNext;
35 tempDirectory.createTemp(); 35 tempDirectory.createTemp();
36 } 36 }
37 37
38 static void deleteTempDirectory() { 38 static void deleteTempDirectory() {
39 tempDirectory.deleteSync(recursive: true); 39 tempDirectory.deleteSync(recursive: true);
40 } 40 }
41 41
42 // Test for file read functionality. 42 // Test for file read functionality.
43 static void testReadStream() { 43 static void testReadStream() {
44 // Read a file and check part of it's contents. 44 // Read a file and check part of it's contents.
45 String filename = getFilename("bin/file_test.cc"); 45 String filename = getFilename("bin/file_test.cc");
46 File file = new File(filename); 46 File file = new File(filename);
47 InputStream input = file.openInputStream(); 47 InputStream input = file.openInputStream();
48 input.dataHandler = () { 48 input.onData = () {
49 List<int> buffer = new List<int>(42); 49 List<int> buffer = new List<int>(42);
50 int bytesRead = input.readInto(buffer, 0, 12); 50 int bytesRead = input.readInto(buffer, 0, 12);
51 Expect.equals(12, bytesRead); 51 Expect.equals(12, bytesRead);
52 bytesRead = input.readInto(buffer, 12, 30); 52 bytesRead = input.readInto(buffer, 12, 30);
53 input.close(); 53 input.close();
54 Expect.equals(30, bytesRead); 54 Expect.equals(30, bytesRead);
55 Expect.equals(47, buffer[0]); // represents '/' in the file. 55 Expect.equals(47, buffer[0]); // represents '/' in the file.
56 Expect.equals(47, buffer[1]); // represents '/' in the file. 56 Expect.equals(47, buffer[1]); // represents '/' in the file.
57 Expect.equals(32, buffer[2]); // represents ' ' in the file. 57 Expect.equals(32, buffer[2]); // represents ' ' in the file.
58 Expect.equals(67, buffer[3]); // represents 'C' in the file. 58 Expect.equals(67, buffer[3]); // represents 'C' in the file.
(...skipping 14 matching lines...) Expand all
73 73
74 // Read a file. 74 // Read a file.
75 String inFilename = getFilename("tests/vm/data/fixed_length_file"); 75 String inFilename = getFilename("tests/vm/data/fixed_length_file");
76 File file; 76 File file;
77 InputStream input; 77 InputStream input;
78 int bytesRead; 78 int bytesRead;
79 79
80 // Test reading all using readInto. 80 // Test reading all using readInto.
81 file = new File(inFilename); 81 file = new File(inFilename);
82 input = file.openInputStream(); 82 input = file.openInputStream();
83 input.dataHandler = () { 83 input.onData = () {
84 List<int> buffer1 = new List<int>(42); 84 List<int> buffer1 = new List<int>(42);
85 bytesRead = input.readInto(buffer1, 0, 42); 85 bytesRead = input.readInto(buffer1, 0, 42);
86 Expect.equals(42, bytesRead); 86 Expect.equals(42, bytesRead);
87 Expect.isTrue(input.closed); 87 Expect.isTrue(input.closed);
88 88
89 // Test reading all using readInto and read. 89 // Test reading all using readInto and read.
90 file = new File(inFilename); 90 file = new File(inFilename);
91 input = file.openInputStream(); 91 input = file.openInputStream();
92 input.dataHandler = () { 92 input.onData = () {
93 bytesRead = input.readInto(buffer1, 0, 21); 93 bytesRead = input.readInto(buffer1, 0, 21);
94 Expect.equals(21, bytesRead); 94 Expect.equals(21, bytesRead);
95 buffer1 = input.read(); 95 buffer1 = input.read();
96 Expect.equals(21, buffer1.length); 96 Expect.equals(21, buffer1.length);
97 Expect.isTrue(input.closed); 97 Expect.isTrue(input.closed);
98 98
99 // Test reading all using read and readInto. 99 // Test reading all using read and readInto.
100 file = new File(inFilename); 100 file = new File(inFilename);
101 input = file.openInputStream(); 101 input = file.openInputStream();
102 input.dataHandler = () { 102 input.onData = () {
103 buffer1 = input.read(21); 103 buffer1 = input.read(21);
104 Expect.equals(21, buffer1.length); 104 Expect.equals(21, buffer1.length);
105 bytesRead = input.readInto(buffer1, 0, 21); 105 bytesRead = input.readInto(buffer1, 0, 21);
106 Expect.equals(21, bytesRead); 106 Expect.equals(21, bytesRead);
107 Expect.isTrue(input.closed); 107 Expect.isTrue(input.closed);
108 108
109 // Test reading all using read. 109 // Test reading all using read.
110 file = new File(inFilename); 110 file = new File(inFilename);
111 input = file.openInputStream(); 111 input = file.openInputStream();
112 input.dataHandler = () { 112 input.onData = () {
113 buffer1 = input.read(); 113 buffer1 = input.read();
114 Expect.equals(42, buffer1.length); 114 Expect.equals(42, buffer1.length);
115 Expect.isTrue(input.closed); 115 Expect.isTrue(input.closed);
116 116
117 // Write the contents of the file just read into another file. 117 // Write the contents of the file just read into another file.
118 String outFilename = tempDirectory.path + "/out_read_write_stream"; 118 String outFilename = tempDirectory.path + "/out_read_write_stream";
119 file = new File(outFilename); 119 file = new File(outFilename);
120 OutputStream output = file.openOutputStream(); 120 OutputStream output = file.openOutputStream();
121 bool writeDone = output.writeFrom(buffer1, 0, 42); 121 bool writeDone = output.writeFrom(buffer1, 0, 42);
122 Expect.equals(false, writeDone); 122 Expect.equals(false, writeDone);
123 output.noPendingWriteHandler = () { 123 output.onNoPendingWrite = () {
124 output.close(); 124 output.close();
125 125
126 // Now read the contents of the file just written. 126 // Now read the contents of the file just written.
127 List<int> buffer2 = new List<int>(42); 127 List<int> buffer2 = new List<int>(42);
128 file = new File(outFilename); 128 file = new File(outFilename);
129 input = file.openInputStream(); 129 input = file.openInputStream();
130 input.dataHandler = () { 130 input.onData = () {
131 bytesRead = input.readInto(buffer2, 0, 42); 131 bytesRead = input.readInto(buffer2, 0, 42);
132 Expect.equals(42, bytesRead); 132 Expect.equals(42, bytesRead);
133 // Now compare the two buffers to check if they are identical. 133 // Now compare the two buffers to check if they are identical.
134 for (int i = 0; i < buffer1.length; i++) { 134 for (int i = 0; i < buffer1.length; i++) {
135 Expect.equals(buffer1[i], buffer2[i]); 135 Expect.equals(buffer1[i], buffer2[i]);
136 } 136 }
137 input.closeHandler = () { 137 input.onClose = () {
138 // Delete the output file. 138 // Delete the output file.
139 file.deleteSync(); 139 file.deleteSync();
140 Expect.isFalse(file.existsSync()); 140 Expect.isFalse(file.existsSync());
141 asyncTestDone("testReadWriteStream"); 141 asyncTestDone("testReadWriteStream");
142 }; 142 };
143 }; 143 };
144 }; 144 };
145 }; 145 };
146 }; 146 };
147 }; 147 };
148 }; 148 };
149 } 149 }
150 150
151 static void testRead() { 151 static void testRead() {
152 // Read a file and check part of it's contents. 152 // Read a file and check part of it's contents.
153 String filename = getFilename("bin/file_test.cc"); 153 String filename = getFilename("bin/file_test.cc");
154 File file = new File(filename); 154 File file = new File(filename);
155 file.errorHandler = (s) { 155 file.onError = (s) {
156 Expect.fail("No errors expected : $s"); 156 Expect.fail("No errors expected : $s");
157 }; 157 };
158 file.openHandler = (RandomAccessFile file) { 158 file.onOpen = (RandomAccessFile file) {
159 List<int> buffer = new List<int>(10); 159 List<int> buffer = new List<int>(10);
160 file.readListHandler = (bytes_read) { 160 file.onReadList = (bytes_read) {
161 Expect.equals(5, bytes_read); 161 Expect.equals(5, bytes_read);
162 file.readListHandler = (bytes_read) { 162 file.onReadList = (bytes_read) {
163 Expect.equals(5, bytes_read); 163 Expect.equals(5, bytes_read);
164 Expect.equals(47, buffer[0]); // represents '/' in the file. 164 Expect.equals(47, buffer[0]); // represents '/' in the file.
165 Expect.equals(47, buffer[1]); // represents '/' in the file. 165 Expect.equals(47, buffer[1]); // represents '/' in the file.
166 Expect.equals(32, buffer[2]); // represents ' ' in the file. 166 Expect.equals(32, buffer[2]); // represents ' ' in the file.
167 Expect.equals(67, buffer[3]); // represents 'C' in the file. 167 Expect.equals(67, buffer[3]); // represents 'C' in the file.
168 Expect.equals(111, buffer[4]); // represents 'o' in the file. 168 Expect.equals(111, buffer[4]); // represents 'o' in the file.
169 Expect.equals(112, buffer[5]); // represents 'p' in the file. 169 Expect.equals(112, buffer[5]); // represents 'p' in the file.
170 Expect.equals(121, buffer[6]); // represents 'y' in the file. 170 Expect.equals(121, buffer[6]); // represents 'y' in the file.
171 Expect.equals(114, buffer[7]); // represents 'r' in the file. 171 Expect.equals(114, buffer[7]); // represents 'r' in the file.
172 Expect.equals(105, buffer[8]); // represents 'i' in the file. 172 Expect.equals(105, buffer[8]); // represents 'i' in the file.
(...skipping 29 matching lines...) Expand all
202 Expect.equals(103, buffer[9]); // represents 'g' in the file. 202 Expect.equals(103, buffer[9]); // represents 'g' in the file.
203 Expect.equals(104, buffer[10]); // represents 'h' in the file. 203 Expect.equals(104, buffer[10]); // represents 'h' in the file.
204 Expect.equals(116, buffer[11]); // represents 't' in the file. 204 Expect.equals(116, buffer[11]); // represents 't' in the file.
205 } 205 }
206 206
207 // Test for file read and write functionality. 207 // Test for file read and write functionality.
208 static void testReadWrite() { 208 static void testReadWrite() {
209 // Read a file. 209 // Read a file.
210 String inFilename = getFilename("tests/vm/data/fixed_length_file"); 210 String inFilename = getFilename("tests/vm/data/fixed_length_file");
211 final File file = new File(inFilename); 211 final File file = new File(inFilename);
212 file.errorHandler = (s) { 212 file.onError = (s) {
213 Expect.fail("No errors expected : $s"); 213 Expect.fail("No errors expected : $s");
214 }; 214 };
215 file.openHandler = (RandomAccessFile openedFile) { 215 file.onOpen = (RandomAccessFile openedFile) {
216 openedFile.errorHandler = (s) { 216 openedFile.onError = (s) {
217 Expect.fail("No errors expected : $s"); 217 Expect.fail("No errors expected : $s");
218 }; 218 };
219 List<int> buffer1 = new List<int>(42); 219 List<int> buffer1 = new List<int>(42);
220 openedFile.readListHandler = (bytes_read) { 220 openedFile.onReadList = (bytes_read) {
221 Expect.equals(42, bytes_read); 221 Expect.equals(42, bytes_read);
222 openedFile.closeHandler = () { 222 openedFile.onClose = () {
223 // Write the contents of the file just read into another file. 223 // Write the contents of the file just read into another file.
224 String outFilename = tempDirectory.path + "/out_read_write"; 224 String outFilename = tempDirectory.path + "/out_read_write";
225 final File file2 = new File(outFilename); 225 final File file2 = new File(outFilename);
226 file2.errorHandler = (s) { 226 file2.onError = (s) {
227 Expect.fail("No errors expected : $s"); 227 Expect.fail("No errors expected : $s");
228 }; 228 };
229 file2.createHandler = () { 229 file2.onCreate = () {
230 file2.fullPathHandler = (s) { 230 file2.onFullPath = (s) {
231 Expect.isTrue(new File(s).existsSync()); 231 Expect.isTrue(new File(s).existsSync());
232 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') { 232 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') {
233 Expect.fail("Not a full path"); 233 Expect.fail("Not a full path");
234 } 234 }
235 file2.openHandler = (RandomAccessFile openedFile2) { 235 file2.onOpen = (RandomAccessFile openedFile2) {
236 openedFile2.errorHandler = (s) { 236 openedFile2.onError = (s) {
237 Expect.fail("No errors expected : $s"); 237 Expect.fail("No errors expected : $s");
238 }; 238 };
239 openedFile2.noPendingWriteHandler = () { 239 openedFile2.onNoPendingWrite = () {
240 openedFile2.closeHandler = () { 240 openedFile2.onClose = () {
241 List<int> buffer2 = new List<int>(bytes_read); 241 List<int> buffer2 = new List<int>(bytes_read);
242 final File file3 = new File(outFilename); 242 final File file3 = new File(outFilename);
243 file3.errorHandler = (s) { 243 file3.onError = (s) {
244 Expect.fail("No errors expected : $s"); 244 Expect.fail("No errors expected : $s");
245 }; 245 };
246 file3.openHandler = (RandomAccessFile openedFile3) { 246 file3.onOpen = (RandomAccessFile openedFile3) {
247 openedFile3.errorHandler = (s) { 247 openedFile3.onError = (s) {
248 Expect.fail("No errors expected : $s"); 248 Expect.fail("No errors expected : $s");
249 }; 249 };
250 openedFile3.readListHandler = (bytes_read) { 250 openedFile3.onReadList = (bytes_read) {
251 Expect.equals(42, bytes_read); 251 Expect.equals(42, bytes_read);
252 openedFile3.closeHandler = () { 252 openedFile3.onClose = () {
253 // Now compare the two buffers to check if they 253 // Now compare the two buffers to check if they
254 // are identical. 254 // are identical.
255 Expect.equals(buffer1.length, buffer2.length); 255 Expect.equals(buffer1.length, buffer2.length);
256 for (int i = 0; i < buffer1.length; i++) { 256 for (int i = 0; i < buffer1.length; i++) {
257 Expect.equals(buffer1[i], buffer2[i]); 257 Expect.equals(buffer1[i], buffer2[i]);
258 } 258 }
259 // Delete the output file. 259 // Delete the output file.
260 final file4 = file3; 260 final file4 = file3;
261 file4.deleteHandler = () { 261 file4.onDelete = () {
262 file4.existsHandler = (exists) { 262 file4.onExists = (exists) {
263 Expect.isFalse(exists); 263 Expect.isFalse(exists);
264 asyncTestDone("testReadWrite"); 264 asyncTestDone("testReadWrite");
265 }; 265 };
266 file4.exists(); 266 file4.exists();
267 }; 267 };
268 file4.delete(); 268 file4.delete();
269 }; 269 };
270 openedFile3.close(); 270 openedFile3.close();
271 }; 271 };
272 openedFile3.readList(buffer2, 0, 42); 272 openedFile3.readList(buffer2, 0, 42);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 } 316 }
317 317
318 static void testOutputStreamWriteAppend() { 318 static void testOutputStreamWriteAppend() {
319 String content = "foobar"; 319 String content = "foobar";
320 String filename = tempDirectory.path + "/outstream_write_append"; 320 String filename = tempDirectory.path + "/outstream_write_append";
321 File file = new File(filename); 321 File file = new File(filename);
322 file.createSync(); 322 file.createSync();
323 List<int> buffer = content.charCodes(); 323 List<int> buffer = content.charCodes();
324 OutputStream outStream = file.openOutputStream(); 324 OutputStream outStream = file.openOutputStream();
325 outStream.write(buffer); 325 outStream.write(buffer);
326 outStream.noPendingWriteHandler = () { 326 outStream.onNoPendingWrite = () {
327 outStream.close(); 327 outStream.close();
328 File file2 = new File(filename); 328 File file2 = new File(filename);
329 OutputStream appendingOutput = 329 OutputStream appendingOutput =
330 file2.openOutputStream(FileMode.APPEND); 330 file2.openOutputStream(FileMode.APPEND);
331 appendingOutput.write(buffer); 331 appendingOutput.write(buffer);
332 appendingOutput.noPendingWriteHandler = () { 332 appendingOutput.onNoPendingWrite = () {
333 appendingOutput.close(); 333 appendingOutput.close();
334 File file3 = new File(filename); 334 File file3 = new File(filename);
335 file3.openHandler = (RandomAccessFile openedFile) { 335 file3.onOpen = (RandomAccessFile openedFile) {
336 openedFile.lengthHandler = (int length) { 336 openedFile.onLength = (int length) {
337 Expect.equals(content.length * 2, length); 337 Expect.equals(content.length * 2, length);
338 openedFile.closeHandler = () { 338 openedFile.onClose = () {
339 file3.deleteHandler = () { 339 file3.onDelete = () {
340 asyncTestDone("testOutputStreamWriteAppend"); 340 asyncTestDone("testOutputStreamWriteAppend");
341 }; 341 };
342 file3.delete(); 342 file3.delete();
343 }; 343 };
344 openedFile.close(); 344 openedFile.close();
345 }; 345 };
346 openedFile.length(); 346 openedFile.length();
347 }; 347 };
348 file3.open(); 348 file3.open();
349 }; 349 };
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 file.createSync(); 396 file.createSync();
397 RandomAccessFile openedFile = file.openSync(); 397 RandomAccessFile openedFile = file.openSync();
398 Expect.throws(() => openedFile.readByteSync(), (e) => e is FileIOException); 398 Expect.throws(() => openedFile.readByteSync(), (e) => e is FileIOException);
399 openedFile.closeSync(); 399 openedFile.closeSync();
400 file.deleteSync(); 400 file.deleteSync();
401 } 401 }
402 402
403 static void testReadEmptyFile() { 403 static void testReadEmptyFile() {
404 String fileName = tempDirectory.path + "/empty_file"; 404 String fileName = tempDirectory.path + "/empty_file";
405 File file = new File(fileName); 405 File file = new File(fileName);
406 file.errorHandler = (s) { 406 file.onError = (s) {
407 Expect.fail("No errors expected : $s"); 407 Expect.fail("No errors expected : $s");
408 }; 408 };
409 file.createHandler = () { 409 file.onCreate = () {
410 file.openHandler = (RandomAccessFile openedFile) { 410 file.onOpen = (RandomAccessFile openedFile) {
411 openedFile.readByteHandler = (int byte) { 411 openedFile.onReadByte = (int byte) {
412 Expect.fail("Read byte from empty file"); 412 Expect.fail("Read byte from empty file");
413 }; 413 };
414 openedFile.errorHandler = (String err) { 414 openedFile.onError = (String err) {
415 Expect.isTrue(err.indexOf("failed") != -1); 415 Expect.isTrue(err.indexOf("failed") != -1);
416 openedFile.closeHandler = () { 416 openedFile.onClose = () {
417 file.deleteHandler = () { 417 file.onDelete = () {
418 asyncTestDone("testReadEmptyFile"); 418 asyncTestDone("testReadEmptyFile");
419 }; 419 };
420 file.delete(); 420 file.delete();
421 }; 421 };
422 openedFile.close(); 422 openedFile.close();
423 }; 423 };
424 openedFile.readByte(); 424 openedFile.readByte();
425 }; 425 };
426 file.open(); 426 file.open();
427 }; 427 };
428 asyncTestStarted(); 428 asyncTestStarted();
429 file.create(); 429 file.create();
430 } 430 }
431 431
432 // Test for file write of different types of lists. 432 // Test for file write of different types of lists.
433 static void testWriteVariousLists() { 433 static void testWriteVariousLists() {
434 asyncTestStarted(); 434 asyncTestStarted();
435 final String fileName = "${tempDirectory.path}/testWriteVariousLists"; 435 final String fileName = "${tempDirectory.path}/testWriteVariousLists";
436 final File file = new File(fileName); 436 final File file = new File(fileName);
437 file.create(); 437 file.create();
438 file.createHandler = () { 438 file.onCreate = () {
439 file.open(FileMode.WRITE); 439 file.open(FileMode.WRITE);
440 file.openHandler = (RandomAccessFile openedFile) { 440 file.onOpen = (RandomAccessFile openedFile) {
441 // Write bytes from 0 to 7. 441 // Write bytes from 0 to 7.
442 openedFile.writeList([0], 0, 1); 442 openedFile.writeList([0], 0, 1);
443 openedFile.writeList(const [1], 0, 1); 443 openedFile.writeList(const [1], 0, 1);
444 openedFile.writeList(new MyListOfOneElement(2), 0, 1); 444 openedFile.writeList(new MyListOfOneElement(2), 0, 1);
445 var x = 12345678901234567890123456789012345678901234567890; 445 var x = 12345678901234567890123456789012345678901234567890;
446 var y = 12345678901234567890123456789012345678901234567893; 446 var y = 12345678901234567890123456789012345678901234567893;
447 openedFile.writeList([y - x], 0, 1); 447 openedFile.writeList([y - x], 0, 1);
448 openedFile.writeList([260], 0, 1); // 260 = 256 + 4 = 0x104. 448 openedFile.writeList([260], 0, 1); // 260 = 256 + 4 = 0x104.
449 openedFile.writeList(const [261], 0, 1); 449 openedFile.writeList(const [261], 0, 1);
450 openedFile.writeList(new MyListOfOneElement(262), 0, 1); 450 openedFile.writeList(new MyListOfOneElement(262), 0, 1);
451 x = 12345678901234567890123456789012345678901234567890; 451 x = 12345678901234567890123456789012345678901234567890;
452 y = 12345678901234567890123456789012345678901234568153; 452 y = 12345678901234567890123456789012345678901234568153;
453 openedFile.writeList([y - x], 0, 1); 453 openedFile.writeList([y - x], 0, 1);
454 454
455 openedFile.errorHandler = (s) { 455 openedFile.onError = (s) {
456 Expect.fail("No errors expected : $s"); 456 Expect.fail("No errors expected : $s");
457 }; 457 };
458 openedFile.noPendingWriteHandler = () { 458 openedFile.onNoPendingWrite = () {
459 openedFile.close(); 459 openedFile.close();
460 }; 460 };
461 openedFile.closeHandler = () { 461 openedFile.onClose = () {
462 // Check the written bytes. 462 // Check the written bytes.
463 final File file2 = new File(fileName); 463 final File file2 = new File(fileName);
464 var openedFile2 = file2.openSync(); 464 var openedFile2 = file2.openSync();
465 var length = openedFile2.lengthSync(); 465 var length = openedFile2.lengthSync();
466 Expect.equals(8, length); 466 Expect.equals(8, length);
467 List data = new List(length); 467 List data = new List(length);
468 openedFile2.readListSync(data, 0, length); 468 openedFile2.readListSync(data, 0, length);
469 for (var i = 0; i < data.length; i++) { 469 for (var i = 0; i < data.length; i++) {
470 Expect.equals(i, data[i]); 470 Expect.equals(i, data[i]);
471 } 471 }
472 openedFile2.closeSync(); 472 openedFile2.closeSync();
473 file2.deleteSync(); 473 file2.deleteSync();
474 asyncTestDone("testWriteVariousLists"); 474 asyncTestDone("testWriteVariousLists");
475 }; 475 };
476 }; 476 };
477 file.errorHandler = (s) { 477 file.onError = (s) {
478 Expect.fail("No errors expected : $s"); 478 Expect.fail("No errors expected : $s");
479 }; 479 };
480 }; 480 };
481 } 481 }
482 482
483 static void testDirectory() { 483 static void testDirectory() {
484 asyncTestStarted(); 484 asyncTestStarted();
485 485
486 // Port to verify that the test completes. 486 // Port to verify that the test completes.
487 var port = new ReceivePort.singleShot(); 487 var port = new ReceivePort.singleShot();
488 port.receive((message, replyTo) { 488 port.receive((message, replyTo) {
489 Expect.equals(1, message); 489 Expect.equals(1, message);
490 asyncTestDone("testDirectory"); 490 asyncTestDone("testDirectory");
491 }); 491 });
492 492
493 var tempDir = tempDirectory.path; 493 var tempDir = tempDirectory.path;
494 var file = new File("${tempDir}/testDirectory"); 494 var file = new File("${tempDir}/testDirectory");
495 var errors = 0; 495 var errors = 0;
496 file.directory(); 496 file.directory();
497 file.directoryHandler = (d) => Expect.fail("non-existing file"); 497 file.onDirectory = (d) => Expect.fail("non-existing file");
498 file.errorHandler = (s) { 498 file.onError = (s) {
499 file.errorHandler = (s) => Expect.fail("no error expected"); 499 file.onError = (s) => Expect.fail("no error expected");
500 file.create(); 500 file.create();
501 file.createHandler = () { 501 file.onCreate = () {
502 file.directory(); 502 file.directory();
503 file.directoryHandler = (Directory d) { 503 file.onDirectory = (Directory d) {
504 d.exists(); 504 d.exists();
505 d.errorHandler = (s) => Expect.fail("no error expected"); 505 d.onError = (s) => Expect.fail("no error expected");
506 d.existsHandler = (exists) { 506 d.onExists = (exists) {
507 Expect.isTrue(exists); 507 Expect.isTrue(exists);
508 Expect.isTrue(d.path.endsWith(tempDir)); 508 Expect.isTrue(d.path.endsWith(tempDir));
509 file.delete(); 509 file.delete();
510 file.deleteHandler = () { 510 file.onDelete = () {
511 var file_dir = new File("."); 511 var file_dir = new File(".");
512 file_dir.directory(); 512 file_dir.directory();
513 file_dir.directoryHandler = (d) { 513 file_dir.onDirectory = (d) {
514 Expect.fail("non-existing file"); 514 Expect.fail("non-existing file");
515 }; 515 };
516 file_dir.errorHandler = (s) { 516 file_dir.onError = (s) {
517 var file_dir = new File(tempDir); 517 var file_dir = new File(tempDir);
518 file_dir.directory(); 518 file_dir.directory();
519 file_dir.directoryHandler = (d) { 519 file_dir.onDirectory = (d) {
520 Expect.fail("non-existing file"); 520 Expect.fail("non-existing file");
521 }; 521 };
522 file_dir.errorHandler = (s) { 522 file_dir.onError = (s) {
523 port.toSendPort().send(1); 523 port.toSendPort().send(1);
524 }; 524 };
525 }; 525 };
526 }; 526 };
527 }; 527 };
528 }; 528 };
529 }; 529 };
530 }; 530 };
531 } 531 }
532 532
(...skipping 12 matching lines...) Expand all
545 var file_dir = new File("."); 545 var file_dir = new File(".");
546 Expect.throws(file_dir.directorySync, (e) { return e is FileIOException; }); 546 Expect.throws(file_dir.directorySync, (e) { return e is FileIOException; });
547 file_dir = new File(tempDir); 547 file_dir = new File(tempDir);
548 Expect.throws(file_dir.directorySync, (e) { return e is FileIOException; }); 548 Expect.throws(file_dir.directorySync, (e) { return e is FileIOException; });
549 } 549 }
550 550
551 // Test for file length functionality. 551 // Test for file length functionality.
552 static void testLength() { 552 static void testLength() {
553 String filename = getFilename("tests/vm/data/fixed_length_file"); 553 String filename = getFilename("tests/vm/data/fixed_length_file");
554 RandomAccessFile input = (new File(filename)).openSync(); 554 RandomAccessFile input = (new File(filename)).openSync();
555 input.errorHandler = (s) { 555 input.onError = (s) {
556 Expect.fail("No errors expected"); 556 Expect.fail("No errors expected");
557 }; 557 };
558 input.lengthHandler = (length) { 558 input.onLength = (length) {
559 Expect.equals(42, length); 559 Expect.equals(42, length);
560 input.close(); 560 input.close();
561 }; 561 };
562 input.length(); 562 input.length();
563 } 563 }
564 564
565 static void testLengthSync() { 565 static void testLengthSync() {
566 String filename = getFilename("tests/vm/data/fixed_length_file"); 566 String filename = getFilename("tests/vm/data/fixed_length_file");
567 RandomAccessFile input = (new File(filename)).openSync(); 567 RandomAccessFile input = (new File(filename)).openSync();
568 Expect.equals(42, input.lengthSync()); 568 Expect.equals(42, input.lengthSync());
569 input.closeSync(); 569 input.closeSync();
570 } 570 }
571 571
572 // Test for file position functionality. 572 // Test for file position functionality.
573 static void testPosition() { 573 static void testPosition() {
574 String filename = getFilename("tests/vm/data/fixed_length_file"); 574 String filename = getFilename("tests/vm/data/fixed_length_file");
575 RandomAccessFile input = (new File(filename)).openSync(); 575 RandomAccessFile input = (new File(filename)).openSync();
576 input.errorHandler = (s) { 576 input.onError = (s) {
577 Expect.fail("No errors expected"); 577 Expect.fail("No errors expected");
578 }; 578 };
579 input.positionHandler = (position) { 579 input.onPosition = (position) {
580 Expect.equals(0, position); 580 Expect.equals(0, position);
581 List<int> buffer = new List<int>(100); 581 List<int> buffer = new List<int>(100);
582 input.readListHandler = (bytes_read) { 582 input.onReadList = (bytes_read) {
583 input.positionHandler = (position) { 583 input.onPosition = (position) {
584 Expect.equals(12, position); 584 Expect.equals(12, position);
585 input.readListHandler = (bytes_read) { 585 input.onReadList = (bytes_read) {
586 input.positionHandler = (position) { 586 input.onPosition = (position) {
587 Expect.equals(18, position); 587 Expect.equals(18, position);
588 input.setPositionHandler = () { 588 input.onSetPosition = () {
589 input.positionHandler = (position) { 589 input.onPosition = (position) {
590 Expect.equals(8, position); 590 Expect.equals(8, position);
591 input.close(); 591 input.close();
592 }; 592 };
593 input.position(); 593 input.position();
594 }; 594 };
595 input.setPosition(8); 595 input.setPosition(8);
596 }; 596 };
597 }; 597 };
598 input.readList(buffer, 12, 6); 598 input.readList(buffer, 12, 6);
599 }; 599 };
(...skipping 14 matching lines...) Expand all
614 input.readListSync(buffer, 12, 6); 614 input.readListSync(buffer, 12, 6);
615 Expect.equals(18, input.positionSync()); 615 Expect.equals(18, input.positionSync());
616 input.setPositionSync(8); 616 input.setPositionSync(8);
617 Expect.equals(8, input.positionSync()); 617 Expect.equals(8, input.positionSync());
618 input.closeSync(); 618 input.closeSync();
619 } 619 }
620 620
621 static void testTruncate() { 621 static void testTruncate() {
622 File file = new File(tempDirectory.path + "/out_truncate"); 622 File file = new File(tempDirectory.path + "/out_truncate");
623 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; 623 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65];
624 file.errorHandler = (error) { 624 file.onError = (error) {
625 Expect.fail("testTruncate: No errors expected"); 625 Expect.fail("testTruncate: No errors expected");
626 }; 626 };
627 file.openHandler = (RandomAccessFile openedFile) { 627 file.onOpen = (RandomAccessFile openedFile) {
628 openedFile.noPendingWriteHandler = () { 628 openedFile.onNoPendingWrite = () {
629 openedFile.lengthHandler = (length) { 629 openedFile.onLength = (length) {
630 Expect.equals(10, length); 630 Expect.equals(10, length);
631 openedFile.truncateHandler = () { 631 openedFile.onTruncate = () {
632 openedFile.lengthHandler = (length) { 632 openedFile.onLength = (length) {
633 Expect.equals(5, length); 633 Expect.equals(5, length);
634 openedFile.closeHandler = () { 634 openedFile.onClose = () {
635 file.deleteHandler = () { 635 file.onDelete = () {
636 file.existsHandler = (exists) { 636 file.onExists = (exists) {
637 Expect.isFalse(exists); 637 Expect.isFalse(exists);
638 asyncTestDone("testTruncate"); 638 asyncTestDone("testTruncate");
639 }; 639 };
640 file.exists(); 640 file.exists();
641 }; 641 };
642 file.delete(); 642 file.delete();
643 }; 643 };
644 openedFile.close(); 644 openedFile.close();
645 }; 645 };
646 openedFile.length(); 646 openedFile.length();
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 input.deleteSync(); 759 input.deleteSync();
760 } 760 }
761 761
762 // Tests stream exception handling after file was closed. 762 // Tests stream exception handling after file was closed.
763 static void testCloseExceptionStream() { 763 static void testCloseExceptionStream() {
764 asyncTestStarted(); 764 asyncTestStarted();
765 List<int> buffer = new List<int>(42); 765 List<int> buffer = new List<int>(42);
766 File file = new File(tempDirectory.path + "/out_close_exception_stream"); 766 File file = new File(tempDirectory.path + "/out_close_exception_stream");
767 file.createSync(); 767 file.createSync();
768 InputStream input = file.openInputStream(); 768 InputStream input = file.openInputStream();
769 input.closeHandler = () { 769 input.onClose = () {
770 Expect.isTrue(input.closed); 770 Expect.isTrue(input.closed);
771 Expect.isNull(input.readInto(buffer, 0, 12)); 771 Expect.isNull(input.readInto(buffer, 0, 12));
772 OutputStream output = file.openOutputStream(); 772 OutputStream output = file.openOutputStream();
773 output.close(); 773 output.close();
774 Expect.throws(() => output.writeFrom(buffer, 0, 12)); 774 Expect.throws(() => output.writeFrom(buffer, 0, 12));
775 output.closeHandler = () { 775 output.onClose = () {
776 file.deleteSync(); 776 file.deleteSync();
777 asyncTestDone("testCloseExceptionStream"); 777 asyncTestDone("testCloseExceptionStream");
778 }; 778 };
779 }; 779 };
780 } 780 }
781 781
782 // Tests buffer out of bounds exception. 782 // Tests buffer out of bounds exception.
783 static void testBufferOutOfBoundsException() { 783 static void testBufferOutOfBoundsException() {
784 bool exceptionCaught = false; 784 bool exceptionCaught = false;
785 bool wrongExceptionCaught = false; 785 bool wrongExceptionCaught = false;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 } 872 }
873 Expect.equals(true, exceptionCaught); 873 Expect.equals(true, exceptionCaught);
874 Expect.equals(true, !wrongExceptionCaught); 874 Expect.equals(true, !wrongExceptionCaught);
875 openedFile.closeSync(); 875 openedFile.closeSync();
876 file.deleteSync(); 876 file.deleteSync();
877 } 877 }
878 878
879 static void testMixedSyncAndAsync() { 879 static void testMixedSyncAndAsync() {
880 var name = getFilename("tests/vm/data/fixed_length_file"); 880 var name = getFilename("tests/vm/data/fixed_length_file");
881 var f = new File(name); 881 var f = new File(name);
882 f.errorHandler = (s) { 882 f.onError = (s) {
883 Expect.fail("No errors expected"); 883 Expect.fail("No errors expected");
884 }; 884 };
885 f.existsHandler = (exists) { 885 f.onExists = (exists) {
886 try { 886 try {
887 f.existsSync(); 887 f.existsSync();
888 Expect.fail("Expected exception"); 888 Expect.fail("Expected exception");
889 } catch (var e) { 889 } catch (var e) {
890 Expect.isTrue(e is FileIOException); 890 Expect.isTrue(e is FileIOException);
891 } 891 }
892 }; 892 };
893 f.exists(); 893 f.exists();
894 } 894 }
895 895
896 static void testOpenDirectoryAsFile() { 896 static void testOpenDirectoryAsFile() {
897 var f = new File('.'); 897 var f = new File('.');
898 f.open(); 898 f.open();
899 f.openHandler = (r) => Expect.fail('Directory opened as file'); 899 f.onOpen = (r) => Expect.fail('Directory opened as file');
900 } 900 }
901 901
902 static void testOpenDirectoryAsFileSync() { 902 static void testOpenDirectoryAsFileSync() {
903 var f = new File('.'); 903 var f = new File('.');
904 try { 904 try {
905 f.openSync(); 905 f.openSync();
906 Expect.fail("Expected exception opening directory as file"); 906 Expect.fail("Expected exception opening directory as file");
907 } catch (var e) { 907 } catch (var e) {
908 Expect.isTrue(e is FileIOException); 908 Expect.isTrue(e is FileIOException);
909 } 909 }
910 } 910 }
911 911
912 static void testReadAsBytes() { 912 static void testReadAsBytes() {
913 var port = new ReceivePort.singleShot(); 913 var port = new ReceivePort.singleShot();
914 port.receive((result, replyTo) { 914 port.receive((result, replyTo) {
915 Expect.equals(42, result); 915 Expect.equals(42, result);
916 }); 916 });
917 var name = getFilename("tests/vm/data/fixed_length_file"); 917 var name = getFilename("tests/vm/data/fixed_length_file");
918 var f = new File(name); 918 var f = new File(name);
919 f.readAsBytes(); 919 f.readAsBytes();
920 f.readAsBytesHandler = (bytes) { 920 f.onReadAsBytes = (bytes) {
921 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); 921 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes."));
922 port.toSendPort().send(bytes.length); 922 port.toSendPort().send(bytes.length);
923 }; 923 };
924 f.errorHandler = (e) { 924 f.onError = (e) {
925 Expect.fail("No errors expected: $e"); 925 Expect.fail("No errors expected: $e");
926 }; 926 };
927 } 927 }
928 928
929 static void testReadAsBytesSync() { 929 static void testReadAsBytesSync() {
930 var name = getFilename("tests/vm/data/fixed_length_file"); 930 var name = getFilename("tests/vm/data/fixed_length_file");
931 var bytes = new File(name).readAsBytesSync(); 931 var bytes = new File(name).readAsBytesSync();
932 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); 932 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes."));
933 Expect.equals(bytes.length, 42); 933 Expect.equals(bytes.length, 42);
934 } 934 }
935 935
936 static void testReadAsText() { 936 static void testReadAsText() {
937 var port = new ReceivePort.singleShot(); 937 var port = new ReceivePort.singleShot();
938 port.receive((result, replyTo) { 938 port.receive((result, replyTo) {
939 Expect.equals(1, result); 939 Expect.equals(1, result);
940 }); 940 });
941 var name = getFilename("tests/vm/data/fixed_length_file"); 941 var name = getFilename("tests/vm/data/fixed_length_file");
942 var f = new File(name); 942 var f = new File(name);
943 f.readAsText('UTF-8'); 943 f.readAsText('UTF-8');
944 f.readAsTextHandler = (text) { 944 f.onReadAsText = (text) {
945 Expect.isTrue(text.endsWith("42 bytes.")); 945 Expect.isTrue(text.endsWith("42 bytes."));
946 Expect.equals(42, text.length); 946 Expect.equals(42, text.length);
947 var name = getDataFilename("tests/standalone/src/read_as_text.dat"); 947 var name = getDataFilename("tests/standalone/src/read_as_text.dat");
948 var f = new File(name); 948 var f = new File(name);
949 f.errorHandler = (e) => Expect.fail("No errors expected"); 949 f.onError = (e) => Expect.fail("No errors expected");
950 f.readAsText('UTF-8'); 950 f.readAsText('UTF-8');
951 f.readAsTextHandler = (text) { 951 f.onReadAsText = (text) {
952 Expect.equals(6, text.length); 952 Expect.equals(6, text.length);
953 var expected = [955, 120, 46, 32, 120, 10]; 953 var expected = [955, 120, 46, 32, 120, 10];
954 Expect.listEquals(expected, text.charCodes()); 954 Expect.listEquals(expected, text.charCodes());
955 f.readAsText('ISO-8859-1'); 955 f.readAsText('ISO-8859-1');
956 f.readAsTextHandler = (text) { 956 f.onReadAsText = (text) {
957 Expect.equals(7, text.length); 957 Expect.equals(7, text.length);
958 var expected = [206, 187, 120, 46, 32, 120, 10]; 958 var expected = [206, 187, 120, 46, 32, 120, 10];
959 Expect.listEquals(expected, text.charCodes()); 959 Expect.listEquals(expected, text.charCodes());
960 f.readAsText('ASCII'); 960 f.readAsText('ASCII');
961 f.errorHandler = (e) { 961 f.onError = (e) {
962 port.toSendPort().send(1); 962 port.toSendPort().send(1);
963 }; 963 };
964 f.readAsTextHandler = (text) { 964 f.onReadAsText = (text) {
965 Expect.fail("Non-ascii char should cause error"); 965 Expect.fail("Non-ascii char should cause error");
966 }; 966 };
967 }; 967 };
968 }; 968 };
969 }; 969 };
970 f.errorHandler = (e) { 970 f.onError = (e) {
971 Expect.fail("No errors expected: $e"); 971 Expect.fail("No errors expected: $e");
972 }; 972 };
973 } 973 }
974 974
975 static void testReadAsTextSync() { 975 static void testReadAsTextSync() {
976 var name = getFilename("tests/vm/data/fixed_length_file"); 976 var name = getFilename("tests/vm/data/fixed_length_file");
977 var text = new File(name).readAsTextSync(); 977 var text = new File(name).readAsTextSync();
978 Expect.isTrue(text.endsWith("42 bytes.")); 978 Expect.isTrue(text.endsWith("42 bytes."));
979 Expect.equals(42, text.length); 979 Expect.equals(42, text.length);
980 name = getDataFilename("tests/standalone/src/read_as_text.dat"); 980 name = getDataFilename("tests/standalone/src/read_as_text.dat");
981 text = new File(name).readAsTextSync(); 981 text = new File(name).readAsTextSync();
982 Expect.equals(6, text.length); 982 Expect.equals(6, text.length);
983 var expected = [955, 120, 46, 32, 120, 10]; 983 var expected = [955, 120, 46, 32, 120, 10];
984 Expect.listEquals(expected, text.charCodes()); 984 Expect.listEquals(expected, text.charCodes());
985 Expect.throws(() { new File(name).readAsTextSync("ASCII"); }); 985 Expect.throws(() { new File(name).readAsTextSync("ASCII"); });
986 text = new File(name).readAsTextSync("ISO-8859-1"); 986 text = new File(name).readAsTextSync("ISO-8859-1");
987 expected = [206, 187, 120, 46, 32, 120, 10]; 987 expected = [206, 187, 120, 46, 32, 120, 10];
988 Expect.equals(7, text.length); 988 Expect.equals(7, text.length);
989 Expect.listEquals(expected, text.charCodes()); 989 Expect.listEquals(expected, text.charCodes());
990 } 990 }
991 991
992 static void testReadAsLines() { 992 static void testReadAsLines() {
993 var port = new ReceivePort.singleShot(); 993 var port = new ReceivePort.singleShot();
994 port.receive((result, replyTo) { 994 port.receive((result, replyTo) {
995 Expect.equals(42, result); 995 Expect.equals(42, result);
996 }); 996 });
997 var name = getFilename("tests/vm/data/fixed_length_file"); 997 var name = getFilename("tests/vm/data/fixed_length_file");
998 var f = new File(name); 998 var f = new File(name);
999 f.readAsLines('UTF-8'); 999 f.readAsLines('UTF-8');
1000 f.readAsLinesHandler = (lines) { 1000 f.onReadAsLines = (lines) {
1001 Expect.equals(1, lines.length); 1001 Expect.equals(1, lines.length);
1002 var line = lines[0]; 1002 var line = lines[0];
1003 Expect.isTrue(line.endsWith("42 bytes.")); 1003 Expect.isTrue(line.endsWith("42 bytes."));
1004 port.toSendPort().send(line.length); 1004 port.toSendPort().send(line.length);
1005 }; 1005 };
1006 f.errorHandler = (e) { 1006 f.onError = (e) {
1007 Expect.fail("No errors expected: $e"); 1007 Expect.fail("No errors expected: $e");
1008 }; 1008 };
1009 } 1009 }
1010 1010
1011 static void testReadAsLinesSync() { 1011 static void testReadAsLinesSync() {
1012 var name = getFilename("tests/vm/data/fixed_length_file"); 1012 var name = getFilename("tests/vm/data/fixed_length_file");
1013 var lines = new File(name).readAsLinesSync(); 1013 var lines = new File(name).readAsLinesSync();
1014 Expect.equals(1, lines.length); 1014 Expect.equals(1, lines.length);
1015 var line = lines[0]; 1015 var line = lines[0];
1016 Expect.isTrue(line.endsWith("42 bytes.")); 1016 Expect.isTrue(line.endsWith("42 bytes."));
1017 Expect.equals(42, line.length); 1017 Expect.equals(42, line.length);
1018 name = getDataFilename("tests/standalone/src/readline_test1.dat"); 1018 name = getDataFilename("tests/standalone/src/readline_test1.dat");
1019 lines = new File(name).readAsLinesSync(); 1019 lines = new File(name).readAsLinesSync();
1020 Expect.equals(10, lines.length); 1020 Expect.equals(10, lines.length);
1021 } 1021 }
1022 1022
1023 1023
1024 static void testReadAsErrors() { 1024 static void testReadAsErrors() {
1025 var port = new ReceivePort.singleShot(); 1025 var port = new ReceivePort.singleShot();
1026 port.receive((message, _) { 1026 port.receive((message, _) {
1027 Expect.equals(1, message); 1027 Expect.equals(1, message);
1028 }); 1028 });
1029 var f = new File('.'); 1029 var f = new File('.');
1030 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException); 1030 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException);
1031 Expect.throws(f.readAsTextSync, (e) => e is FileIOException); 1031 Expect.throws(f.readAsTextSync, (e) => e is FileIOException);
1032 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException); 1032 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException);
1033 f.readAsBytes(); 1033 f.readAsBytes();
1034 f.errorHandler = (e) { 1034 f.onError = (e) {
1035 f.readAsText(); 1035 f.readAsText();
1036 f.errorHandler = (e) { 1036 f.onError = (e) {
1037 f.readAsLines(); 1037 f.readAsLines();
1038 f.errorHandler = (e) { 1038 f.onError = (e) {
1039 port.toSendPort().send(1); 1039 port.toSendPort().send(1);
1040 }; 1040 };
1041 }; 1041 };
1042 }; 1042 };
1043 } 1043 }
1044 1044
1045 // Test that opens the same file for writing then for appending to test 1045 // Test that opens the same file for writing then for appending to test
1046 // that the file is not truncated when opened for appending. 1046 // that the file is not truncated when opened for appending.
1047 static void testAppend() { 1047 static void testAppend() {
1048 var file = new File('${tempDirectory.path}/out_append'); 1048 var file = new File('${tempDirectory.path}/out_append');
1049 file.openHandler = (openedFile) { 1049 file.onOpen = (openedFile) {
1050 openedFile.noPendingWriteHandler = () { 1050 openedFile.onNoPendingWrite = () {
1051 openedFile.closeHandler = () { 1051 openedFile.onClose = () {
1052 file.openHandler = (openedFile) { 1052 file.onOpen = (openedFile) {
1053 openedFile.lengthHandler = (length) { 1053 openedFile.onLength = (length) {
1054 Expect.equals(4, length); 1054 Expect.equals(4, length);
1055 openedFile.setPositionHandler = () { 1055 openedFile.onSetPosition = () {
1056 openedFile.noPendingWriteHandler = () { 1056 openedFile.onNoPendingWrite = () {
1057 openedFile.lengthHandler = (length) { 1057 openedFile.onLength = (length) {
1058 Expect.equals(8, length); 1058 Expect.equals(8, length);
1059 openedFile.closeHandler = () { 1059 openedFile.onClose = () {
1060 file.deleteHandler = () { 1060 file.onDelete = () {
1061 file.existsHandler = (exists) { 1061 file.onExists = (exists) {
1062 Expect.isFalse(exists); 1062 Expect.isFalse(exists);
1063 asyncTestDone("testAppend"); 1063 asyncTestDone("testAppend");
1064 }; 1064 };
1065 file.exists(); 1065 file.exists();
1066 }; 1066 };
1067 file.delete(); 1067 file.delete();
1068 }; 1068 };
1069 openedFile.close(); 1069 openedFile.close();
1070 }; 1070 };
1071 openedFile.length(); 1071 openedFile.length();
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1147 testWriteVariousLists(); 1147 testWriteVariousLists();
1148 testDirectory(); 1148 testDirectory();
1149 testDirectorySync(); 1149 testDirectorySync();
1150 }); 1150 });
1151 } 1151 }
1152 } 1152 }
1153 1153
1154 main() { 1154 main() {
1155 FileTest.testMain(); 1155 FileTest.testMain();
1156 } 1156 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698