| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
| 8 import 'dart:async'; | 8 import 'dart:async'; |
| 9 import 'dart:io'; | 9 import 'dart:io'; |
| 10 import 'dart:isolate'; | 10 import 'dart:isolate'; |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 }); | 194 }); |
| 195 }); | 195 }); |
| 196 return done.future; | 196 return done.future; |
| 197 } | 197 } |
| 198 | 198 |
| 199 static void testRead() { | 199 static void testRead() { |
| 200 ReceivePort port = new ReceivePort(); | 200 ReceivePort port = new ReceivePort(); |
| 201 // Read a file and check part of it's contents. | 201 // Read a file and check part of it's contents. |
| 202 String filename = getFilename("bin/file_test.cc"); | 202 String filename = getFilename("bin/file_test.cc"); |
| 203 File file = new File(filename); | 203 File file = new File(filename); |
| 204 file.open(mode: FileMode.READ).then((RandomAccessFile file) { | 204 file.open(mode: READ).then((RandomAccessFile file) { |
| 205 List<int> buffer = new List<int>(10); | 205 List<int> buffer = new List<int>(10); |
| 206 file.readList(buffer, 0, 5).then((bytes_read) { | 206 file.readList(buffer, 0, 5).then((bytes_read) { |
| 207 Expect.equals(5, bytes_read); | 207 Expect.equals(5, bytes_read); |
| 208 file.readList(buffer, 5, 5).then((bytes_read) { | 208 file.readList(buffer, 5, 5).then((bytes_read) { |
| 209 Expect.equals(5, bytes_read); | 209 Expect.equals(5, bytes_read); |
| 210 Expect.equals(47, buffer[0]); // represents '/' in the file. | 210 Expect.equals(47, buffer[0]); // represents '/' in the file. |
| 211 Expect.equals(47, buffer[1]); // represents '/' in the file. | 211 Expect.equals(47, buffer[1]); // represents '/' in the file. |
| 212 Expect.equals(32, buffer[2]); // represents ' ' in the file. | 212 Expect.equals(32, buffer[2]); // represents ' ' in the file. |
| 213 Expect.equals(67, buffer[3]); // represents 'C' in the file. | 213 Expect.equals(67, buffer[3]); // represents 'C' in the file. |
| 214 Expect.equals(111, buffer[4]); // represents 'o' in the file. | 214 Expect.equals(111, buffer[4]); // represents 'o' in the file. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 Expect.equals(len, file.openSync().readSync(len + 1).length); | 256 Expect.equals(len, file.openSync().readSync(len + 1).length); |
| 257 Expect.equals(len, file.openSync().readSync(len * 2).length); | 257 Expect.equals(len, file.openSync().readSync(len * 2).length); |
| 258 Expect.equals(len, file.openSync().readSync(len * 10).length); | 258 Expect.equals(len, file.openSync().readSync(len * 10).length); |
| 259 } | 259 } |
| 260 | 260 |
| 261 // Test for file read and write functionality. | 261 // Test for file read and write functionality. |
| 262 static void testReadWrite() { | 262 static void testReadWrite() { |
| 263 // Read a file. | 263 // Read a file. |
| 264 String inFilename = getFilename("tests/vm/data/fixed_length_file"); | 264 String inFilename = getFilename("tests/vm/data/fixed_length_file"); |
| 265 final File file = new File(inFilename); | 265 final File file = new File(inFilename); |
| 266 file.open(mode: FileMode.READ).then((openedFile) { | 266 file.open(mode: READ).then((openedFile) { |
| 267 List<int> buffer1 = new List<int>(42); | 267 List<int> buffer1 = new List<int>(42); |
| 268 openedFile.readList(buffer1, 0, 42).then((bytes_read) { | 268 openedFile.readList(buffer1, 0, 42).then((bytes_read) { |
| 269 Expect.equals(42, bytes_read); | 269 Expect.equals(42, bytes_read); |
| 270 openedFile.close().then((ignore) { | 270 openedFile.close().then((ignore) { |
| 271 // Write the contents of the file just read into another file. | 271 // Write the contents of the file just read into another file. |
| 272 String outFilename = tempDirectory.path + "/out_read_write"; | 272 String outFilename = tempDirectory.path + "/out_read_write"; |
| 273 final File file2 = new File(outFilename); | 273 final File file2 = new File(outFilename); |
| 274 file2.create().then((ignore) { | 274 file2.create().then((ignore) { |
| 275 file2.fullPath().then((s) { | 275 file2.fullPath().then((s) { |
| 276 Expect.isTrue(new File(s).existsSync()); | 276 Expect.isTrue(new File(s).existsSync()); |
| 277 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') { | 277 if (s[0] != '/' && s[0] != '\\' && s[1] != ':') { |
| 278 Expect.fail("Not a full path"); | 278 Expect.fail("Not a full path"); |
| 279 } | 279 } |
| 280 file2.open(mode: FileMode.WRITE).then((openedFile2) { | 280 file2.open(mode: WRITE).then((openedFile2) { |
| 281 openedFile2.writeList(buffer1, 0, bytes_read).then((ignore) { | 281 openedFile2.writeList(buffer1, 0, bytes_read).then((ignore) { |
| 282 openedFile2.close().then((ignore) { | 282 openedFile2.close().then((ignore) { |
| 283 List<int> buffer2 = new List<int>(bytes_read); | 283 List<int> buffer2 = new List<int>(bytes_read); |
| 284 final File file3 = new File(outFilename); | 284 final File file3 = new File(outFilename); |
| 285 file3.open(mode: FileMode.READ).then((openedFile3) { | 285 file3.open(mode: READ).then((openedFile3) { |
| 286 openedFile3.readList(buffer2, 0, 42).then((bytes_read) { | 286 openedFile3.readList(buffer2, 0, 42).then((bytes_read) { |
| 287 Expect.equals(42, bytes_read); | 287 Expect.equals(42, bytes_read); |
| 288 openedFile3.close().then((ignore) { | 288 openedFile3.close().then((ignore) { |
| 289 // Now compare the two buffers to check if they | 289 // Now compare the two buffers to check if they |
| 290 // are identical. | 290 // are identical. |
| 291 Expect.equals(buffer1.length, buffer2.length); | 291 Expect.equals(buffer1.length, buffer2.length); |
| 292 for (int i = 0; i < buffer1.length; i++) { | 292 for (int i = 0; i < buffer1.length; i++) { |
| 293 Expect.equals(buffer1[i], buffer2[i]); | 293 Expect.equals(buffer1[i], buffer2[i]); |
| 294 } | 294 } |
| 295 // Delete the output file. | 295 // Delete the output file. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 314 asyncTestStarted(); | 314 asyncTestStarted(); |
| 315 } | 315 } |
| 316 | 316 |
| 317 static void testWriteAppend() { | 317 static void testWriteAppend() { |
| 318 String content = "foobar"; | 318 String content = "foobar"; |
| 319 String filename = tempDirectory.path + "/write_append"; | 319 String filename = tempDirectory.path + "/write_append"; |
| 320 File file = new File(filename); | 320 File file = new File(filename); |
| 321 file.createSync(); | 321 file.createSync(); |
| 322 Expect.isTrue(new File(filename).existsSync()); | 322 Expect.isTrue(new File(filename).existsSync()); |
| 323 List<int> buffer = content.codeUnits; | 323 List<int> buffer = content.codeUnits; |
| 324 RandomAccessFile openedFile = file.openSync(mode: FileMode.WRITE); | 324 RandomAccessFile openedFile = file.openSync(mode: WRITE); |
| 325 openedFile.writeListSync(buffer, 0, buffer.length); | 325 openedFile.writeListSync(buffer, 0, buffer.length); |
| 326 openedFile.closeSync(); | 326 openedFile.closeSync(); |
| 327 // Reopen the file in write mode to ensure that we overwrite the content. | 327 // Reopen the file in write mode to ensure that we overwrite the content. |
| 328 openedFile = (new File(filename)).openSync(mode: FileMode.WRITE); | 328 openedFile = (new File(filename)).openSync(mode: WRITE); |
| 329 openedFile.writeListSync(buffer, 0, buffer.length); | 329 openedFile.writeListSync(buffer, 0, buffer.length); |
| 330 Expect.equals(content.length, openedFile.lengthSync()); | 330 Expect.equals(content.length, openedFile.lengthSync()); |
| 331 openedFile.closeSync(); | 331 openedFile.closeSync(); |
| 332 // Open the file in append mode and ensure that we do not overwrite | 332 // Open the file in append mode and ensure that we do not overwrite |
| 333 // the existing content. | 333 // the existing content. |
| 334 openedFile = (new File(filename)).openSync(mode: FileMode.APPEND); | 334 openedFile = (new File(filename)).openSync(mode: APPEND); |
| 335 openedFile.writeListSync(buffer, 0, buffer.length); | 335 openedFile.writeListSync(buffer, 0, buffer.length); |
| 336 Expect.equals(content.length * 2, openedFile.lengthSync()); | 336 Expect.equals(content.length * 2, openedFile.lengthSync()); |
| 337 openedFile.closeSync(); | 337 openedFile.closeSync(); |
| 338 file.deleteSync(); | 338 file.deleteSync(); |
| 339 } | 339 } |
| 340 | 340 |
| 341 static void testOutputStreamWriteAppend() { | 341 static void testOutputStreamWriteAppend() { |
| 342 String content = "foobar"; | 342 String content = "foobar"; |
| 343 String filename = tempDirectory.path + "/outstream_write_append"; | 343 String filename = tempDirectory.path + "/outstream_write_append"; |
| 344 File file = new File(filename); | 344 File file = new File(filename); |
| 345 file.createSync(); | 345 file.createSync(); |
| 346 List<int> buffer = content.codeUnits; | 346 List<int> buffer = content.codeUnits; |
| 347 var output = file.openWrite(); | 347 var output = file.openWrite(); |
| 348 output.add(buffer); | 348 output.add(buffer); |
| 349 output.close(); | 349 output.close(); |
| 350 output.done.then((_) { | 350 output.done.then((_) { |
| 351 File file2 = new File(filename); | 351 File file2 = new File(filename); |
| 352 var appendingOutput = file2.openWrite(mode: FileMode.APPEND); | 352 var appendingOutput = file2.openWrite(mode: APPEND); |
| 353 appendingOutput.add(buffer); | 353 appendingOutput.add(buffer); |
| 354 appendingOutput.close(); | 354 appendingOutput.close(); |
| 355 appendingOutput.done.then((_) { | 355 appendingOutput.done.then((_) { |
| 356 File file3 = new File(filename); | 356 File file3 = new File(filename); |
| 357 file3.open(mode: FileMode.READ).then((RandomAccessFile openedFile) { | 357 file3.open(mode: READ).then((RandomAccessFile openedFile) { |
| 358 openedFile.length().then((int length) { | 358 openedFile.length().then((int length) { |
| 359 Expect.equals(content.length * 2, length); | 359 Expect.equals(content.length * 2, length); |
| 360 openedFile.close().then((ignore) { | 360 openedFile.close().then((ignore) { |
| 361 file3.delete().then((ignore) { | 361 file3.delete().then((ignore) { |
| 362 asyncTestDone("testOutputStreamWriteAppend"); | 362 asyncTestDone("testOutputStreamWriteAppend"); |
| 363 }); | 363 }); |
| 364 }); | 364 }); |
| 365 }); | 365 }); |
| 366 }); | 366 }); |
| 367 }); | 367 }); |
| 368 }); | 368 }); |
| 369 asyncTestStarted(); | 369 asyncTestStarted(); |
| 370 } | 370 } |
| 371 | 371 |
| 372 // Test for file read and write functionality. | 372 // Test for file read and write functionality. |
| 373 static void testOutputStreamWriteString() { | 373 static void testOutputStreamWriteString() { |
| 374 String content = "foobar"; | 374 String content = "foobar"; |
| 375 String filename = tempDirectory.path + "/outstream_write_string"; | 375 String filename = tempDirectory.path + "/outstream_write_string"; |
| 376 File file = new File(filename); | 376 File file = new File(filename); |
| 377 file.createSync(); | 377 file.createSync(); |
| 378 List<int> buffer = content.codeUnits; | 378 List<int> buffer = content.codeUnits; |
| 379 var output = file.openWrite(); | 379 var output = file.openWrite(); |
| 380 output.write("abcdABCD"); | 380 output.write("abcdABCD"); |
| 381 output.encoding = Encoding.UTF_8; | 381 output.encoding = UTF_8; |
| 382 output.write("abcdABCD"); | 382 output.write("abcdABCD"); |
| 383 output.encoding = Encoding.ISO_8859_1; | 383 output.encoding = ISO_8859_1; |
| 384 output.write("abcdABCD"); | 384 output.write("abcdABCD"); |
| 385 output.encoding = Encoding.ASCII; | 385 output.encoding = ASCII; |
| 386 output.write("abcdABCD"); | 386 output.write("abcdABCD"); |
| 387 output.encoding = Encoding.UTF_8; | 387 output.encoding = UTF_8; |
| 388 output.write("æøå"); | 388 output.write("æøå"); |
| 389 output.close(); | 389 output.close(); |
| 390 output.done.then((_) { | 390 output.done.then((_) { |
| 391 RandomAccessFile raf = file.openSync(); | 391 RandomAccessFile raf = file.openSync(); |
| 392 Expect.equals(38, raf.lengthSync()); | 392 Expect.equals(38, raf.lengthSync()); |
| 393 raf.close().then((ignore) { | 393 raf.close().then((ignore) { |
| 394 asyncTestDone("testOutputStreamWriteString"); | 394 asyncTestDone("testOutputStreamWriteString"); |
| 395 }); | 395 }); |
| 396 }); | 396 }); |
| 397 asyncTestStarted(); | 397 asyncTestStarted(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 410 file.closeSync(); | 410 file.closeSync(); |
| 411 // Write the contents of the file just read into another file. | 411 // Write the contents of the file just read into another file. |
| 412 String outFilename = tempDirectory.path + "/out_read_write_sync"; | 412 String outFilename = tempDirectory.path + "/out_read_write_sync"; |
| 413 File outFile = new File(outFilename); | 413 File outFile = new File(outFilename); |
| 414 outFile.createSync(); | 414 outFile.createSync(); |
| 415 String path = outFile.fullPathSync(); | 415 String path = outFile.fullPathSync(); |
| 416 if (path[0] != '/' && path[0] != '\\' && path[1] != ':') { | 416 if (path[0] != '/' && path[0] != '\\' && path[1] != ':') { |
| 417 Expect.fail("Not a full path"); | 417 Expect.fail("Not a full path"); |
| 418 } | 418 } |
| 419 Expect.isTrue(new File(path).existsSync()); | 419 Expect.isTrue(new File(path).existsSync()); |
| 420 RandomAccessFile openedFile = outFile.openSync(mode: FileMode.WRITE); | 420 RandomAccessFile openedFile = outFile.openSync(mode: WRITE); |
| 421 openedFile.writeListSync(buffer1, 0, bytes_read); | 421 openedFile.writeListSync(buffer1, 0, bytes_read); |
| 422 openedFile.closeSync(); | 422 openedFile.closeSync(); |
| 423 // Now read the contents of the file just written. | 423 // Now read the contents of the file just written. |
| 424 List<int> buffer2 = new List<int>(bytes_read); | 424 List<int> buffer2 = new List<int>(bytes_read); |
| 425 openedFile = (new File(outFilename)).openSync(); | 425 openedFile = (new File(outFilename)).openSync(); |
| 426 bytes_read = openedFile.readListSync(buffer2, 0, 42); | 426 bytes_read = openedFile.readListSync(buffer2, 0, 42); |
| 427 Expect.equals(42, bytes_read); | 427 Expect.equals(42, bytes_read); |
| 428 openedFile.closeSync(); | 428 openedFile.closeSync(); |
| 429 // Now compare the two buffers to check if they are identical. | 429 // Now compare the two buffers to check if they are identical. |
| 430 Expect.equals(buffer1.length, buffer2.length); | 430 Expect.equals(buffer1.length, buffer2.length); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 444 Expect.equals(-1, openedFile.readByteSync()); | 444 Expect.equals(-1, openedFile.readByteSync()); |
| 445 openedFile.closeSync(); | 445 openedFile.closeSync(); |
| 446 file.deleteSync(); | 446 file.deleteSync(); |
| 447 } | 447 } |
| 448 | 448 |
| 449 static void testReadEmptyFile() { | 449 static void testReadEmptyFile() { |
| 450 String fileName = tempDirectory.path + "/empty_file"; | 450 String fileName = tempDirectory.path + "/empty_file"; |
| 451 File file = new File(fileName); | 451 File file = new File(fileName); |
| 452 asyncTestStarted(); | 452 asyncTestStarted(); |
| 453 file.create().then((ignore) { | 453 file.create().then((ignore) { |
| 454 file.open(mode: FileMode.READ).then((RandomAccessFile openedFile) { | 454 file.open(mode: READ).then((RandomAccessFile openedFile) { |
| 455 var readByteFuture = openedFile.readByte(); | 455 var readByteFuture = openedFile.readByte(); |
| 456 readByteFuture.then((int byte) { | 456 readByteFuture.then((int byte) { |
| 457 Expect.equals(-1, byte); | 457 Expect.equals(-1, byte); |
| 458 openedFile.close().then((ignore) { | 458 openedFile.close().then((ignore) { |
| 459 asyncTestDone("testReadEmptyFile"); | 459 asyncTestDone("testReadEmptyFile"); |
| 460 }); | 460 }); |
| 461 }); | 461 }); |
| 462 }); | 462 }); |
| 463 }); | 463 }); |
| 464 } | 464 } |
| 465 | 465 |
| 466 // Test for file write of different types of lists. | 466 // Test for file write of different types of lists. |
| 467 static void testWriteVariousLists() { | 467 static void testWriteVariousLists() { |
| 468 asyncTestStarted(); | 468 asyncTestStarted(); |
| 469 final String fileName = "${tempDirectory.path}/testWriteVariousLists"; | 469 final String fileName = "${tempDirectory.path}/testWriteVariousLists"; |
| 470 final File file = new File(fileName); | 470 final File file = new File(fileName); |
| 471 file.create().then((ignore) { | 471 file.create().then((ignore) { |
| 472 file.open(mode: FileMode.WRITE).then((RandomAccessFile openedFile) { | 472 file.open(mode: WRITE).then((RandomAccessFile openedFile) { |
| 473 // Write bytes from 0 to 7. | 473 // Write bytes from 0 to 7. |
| 474 openedFile.writeList([0], 0, 1); | 474 openedFile.writeList([0], 0, 1); |
| 475 openedFile.writeList(const [1], 0, 1); | 475 openedFile.writeList(const [1], 0, 1); |
| 476 openedFile.writeList(new MyListOfOneElement(2), 0, 1); | 476 openedFile.writeList(new MyListOfOneElement(2), 0, 1); |
| 477 var x = 12345678901234567890123456789012345678901234567890; | 477 var x = 12345678901234567890123456789012345678901234567890; |
| 478 var y = 12345678901234567890123456789012345678901234567893; | 478 var y = 12345678901234567890123456789012345678901234567893; |
| 479 openedFile.writeList([y - x], 0, 1); | 479 openedFile.writeList([y - x], 0, 1); |
| 480 openedFile.writeList([260], 0, 1); // 260 = 256 + 4 = 0x104. | 480 openedFile.writeList([260], 0, 1); // 260 = 256 + 4 = 0x104. |
| 481 openedFile.writeList(const [261], 0, 1); | 481 openedFile.writeList(const [261], 0, 1); |
| 482 openedFile.writeList(new MyListOfOneElement(262), 0, 1); | 482 openedFile.writeList(new MyListOfOneElement(262), 0, 1); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 input.readListSync(buffer, 12, 6); | 623 input.readListSync(buffer, 12, 6); |
| 624 Expect.equals(18, input.positionSync()); | 624 Expect.equals(18, input.positionSync()); |
| 625 input.setPositionSync(8); | 625 input.setPositionSync(8); |
| 626 Expect.equals(8, input.positionSync()); | 626 Expect.equals(8, input.positionSync()); |
| 627 input.closeSync(); | 627 input.closeSync(); |
| 628 } | 628 } |
| 629 | 629 |
| 630 static void testTruncate() { | 630 static void testTruncate() { |
| 631 File file = new File(tempDirectory.path + "/out_truncate"); | 631 File file = new File(tempDirectory.path + "/out_truncate"); |
| 632 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; | 632 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; |
| 633 file.open(mode: FileMode.WRITE).then((RandomAccessFile openedFile) { | 633 file.open(mode: WRITE).then((RandomAccessFile openedFile) { |
| 634 openedFile.writeList(buffer, 0, 10).then((ignore) { | 634 openedFile.writeList(buffer, 0, 10).then((ignore) { |
| 635 openedFile.length().then((length) { | 635 openedFile.length().then((length) { |
| 636 Expect.equals(10, length); | 636 Expect.equals(10, length); |
| 637 openedFile.truncate(5).then((ignore) { | 637 openedFile.truncate(5).then((ignore) { |
| 638 openedFile.length().then((length) { | 638 openedFile.length().then((length) { |
| 639 Expect.equals(5, length); | 639 Expect.equals(5, length); |
| 640 openedFile.close().then((ignore) { | 640 openedFile.close().then((ignore) { |
| 641 file.delete().then((ignore) { | 641 file.delete().then((ignore) { |
| 642 file.exists().then((exists) { | 642 file.exists().then((exists) { |
| 643 Expect.isFalse(exists); | 643 Expect.isFalse(exists); |
| 644 asyncTestDone("testTruncate"); | 644 asyncTestDone("testTruncate"); |
| 645 }); | 645 }); |
| 646 }); | 646 }); |
| 647 }); | 647 }); |
| 648 }); | 648 }); |
| 649 }); | 649 }); |
| 650 }); | 650 }); |
| 651 }); | 651 }); |
| 652 }); | 652 }); |
| 653 asyncTestStarted(); | 653 asyncTestStarted(); |
| 654 } | 654 } |
| 655 | 655 |
| 656 static void testTruncateSync() { | 656 static void testTruncateSync() { |
| 657 File file = new File(tempDirectory.path + "/out_truncate_sync"); | 657 File file = new File(tempDirectory.path + "/out_truncate_sync"); |
| 658 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; | 658 List buffer = const [65, 65, 65, 65, 65, 65, 65, 65, 65, 65]; |
| 659 RandomAccessFile openedFile = file.openSync(mode: FileMode.WRITE); | 659 RandomAccessFile openedFile = file.openSync(mode: WRITE); |
| 660 openedFile.writeListSync(buffer, 0, 10); | 660 openedFile.writeListSync(buffer, 0, 10); |
| 661 Expect.equals(10, openedFile.lengthSync()); | 661 Expect.equals(10, openedFile.lengthSync()); |
| 662 openedFile.truncateSync(5); | 662 openedFile.truncateSync(5); |
| 663 Expect.equals(5, openedFile.lengthSync()); | 663 Expect.equals(5, openedFile.lengthSync()); |
| 664 openedFile.closeSync(); | 664 openedFile.closeSync(); |
| 665 file.deleteSync(); | 665 file.deleteSync(); |
| 666 Expect.isFalse(file.existsSync()); | 666 Expect.isFalse(file.existsSync()); |
| 667 } | 667 } |
| 668 | 668 |
| 669 // Tests exception handling after file was closed. | 669 // Tests exception handling after file was closed. |
| 670 static void testCloseException() { | 670 static void testCloseException() { |
| 671 bool exceptionCaught = false; | 671 bool exceptionCaught = false; |
| 672 bool wrongExceptionCaught = false; | 672 bool wrongExceptionCaught = false; |
| 673 File input = new File(tempDirectory.path + "/out_close_exception"); | 673 File input = new File(tempDirectory.path + "/out_close_exception"); |
| 674 RandomAccessFile openedFile = input.openSync(mode: FileMode.WRITE); | 674 RandomAccessFile openedFile = input.openSync(mode: WRITE); |
| 675 openedFile.closeSync(); | 675 openedFile.closeSync(); |
| 676 try { | 676 try { |
| 677 openedFile.readByteSync(); | 677 openedFile.readByteSync(); |
| 678 } on FileIOException catch (ex) { | 678 } on FileIOException catch (ex) { |
| 679 exceptionCaught = true; | 679 exceptionCaught = true; |
| 680 } on Exception catch (ex) { | 680 } on Exception catch (ex) { |
| 681 wrongExceptionCaught = true; | 681 wrongExceptionCaught = true; |
| 682 } | 682 } |
| 683 Expect.equals(true, exceptionCaught); | 683 Expect.equals(true, exceptionCaught); |
| 684 Expect.equals(true, !wrongExceptionCaught); | 684 Expect.equals(true, !wrongExceptionCaught); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 772 asyncTestDone("testCloseExceptionStream"); | 772 asyncTestDone("testCloseExceptionStream"); |
| 773 }); | 773 }); |
| 774 } | 774 } |
| 775 | 775 |
| 776 // Tests buffer out of bounds exception. | 776 // Tests buffer out of bounds exception. |
| 777 static void testBufferOutOfBoundsException() { | 777 static void testBufferOutOfBoundsException() { |
| 778 bool exceptionCaught = false; | 778 bool exceptionCaught = false; |
| 779 bool wrongExceptionCaught = false; | 779 bool wrongExceptionCaught = false; |
| 780 File file = | 780 File file = |
| 781 new File(tempDirectory.path + "/out_buffer_out_of_bounds"); | 781 new File(tempDirectory.path + "/out_buffer_out_of_bounds"); |
| 782 RandomAccessFile openedFile = file.openSync(mode: FileMode.WRITE); | 782 RandomAccessFile openedFile = file.openSync(mode: WRITE); |
| 783 try { | 783 try { |
| 784 List<int> buffer = new List<int>(10); | 784 List<int> buffer = new List<int>(10); |
| 785 openedFile.readListSync(buffer, 0, 12); | 785 openedFile.readListSync(buffer, 0, 12); |
| 786 } on RangeError catch (ex) { | 786 } on RangeError catch (ex) { |
| 787 exceptionCaught = true; | 787 exceptionCaught = true; |
| 788 } on Exception catch (ex) { | 788 } on Exception catch (ex) { |
| 789 wrongExceptionCaught = true; | 789 wrongExceptionCaught = true; |
| 790 } | 790 } |
| 791 Expect.equals(true, exceptionCaught); | 791 Expect.equals(true, exceptionCaught); |
| 792 Expect.equals(true, !wrongExceptionCaught); | 792 Expect.equals(true, !wrongExceptionCaught); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 wrongExceptionCaught = true; | 866 wrongExceptionCaught = true; |
| 867 } | 867 } |
| 868 Expect.equals(true, exceptionCaught); | 868 Expect.equals(true, exceptionCaught); |
| 869 Expect.equals(true, !wrongExceptionCaught); | 869 Expect.equals(true, !wrongExceptionCaught); |
| 870 openedFile.closeSync(); | 870 openedFile.closeSync(); |
| 871 file.deleteSync(); | 871 file.deleteSync(); |
| 872 } | 872 } |
| 873 | 873 |
| 874 static void testOpenDirectoryAsFile() { | 874 static void testOpenDirectoryAsFile() { |
| 875 var f = new File('.'); | 875 var f = new File('.'); |
| 876 var future = f.open(mode: FileMode.READ); | 876 var future = f.open(mode: READ); |
| 877 future.then((r) => Expect.fail('Directory opened as file')) | 877 future.then((r) => Expect.fail('Directory opened as file')) |
| 878 .catchError((e) {}); | 878 .catchError((e) {}); |
| 879 } | 879 } |
| 880 | 880 |
| 881 static void testOpenDirectoryAsFileSync() { | 881 static void testOpenDirectoryAsFileSync() { |
| 882 var f = new File('.'); | 882 var f = new File('.'); |
| 883 try { | 883 try { |
| 884 f.openSync(); | 884 f.openSync(); |
| 885 Expect.fail("Expected exception opening directory as file"); | 885 Expect.fail("Expected exception opening directory as file"); |
| 886 } catch (e) { | 886 } catch (e) { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 941 } | 941 } |
| 942 | 942 |
| 943 static void testReadAsText() { | 943 static void testReadAsText() { |
| 944 var port = new ReceivePort(); | 944 var port = new ReceivePort(); |
| 945 port.receive((result, replyTo) { | 945 port.receive((result, replyTo) { |
| 946 port.close(); | 946 port.close(); |
| 947 Expect.equals(1, result); | 947 Expect.equals(1, result); |
| 948 }); | 948 }); |
| 949 var name = getFilename("tests/vm/data/fixed_length_file"); | 949 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 950 var f = new File(name); | 950 var f = new File(name); |
| 951 f.readAsString(encoding: Encoding.UTF_8).then((text) { | 951 f.readAsString(encoding: UTF_8).then((text) { |
| 952 Expect.isTrue(text.endsWith("42 bytes.")); | 952 Expect.isTrue(text.endsWith("42 bytes.")); |
| 953 Expect.equals(42, text.length); | 953 Expect.equals(42, text.length); |
| 954 var name = getDataFilename("tests/standalone/io/read_as_text.dat"); | 954 var name = getDataFilename("tests/standalone/io/read_as_text.dat"); |
| 955 var f = new File(name); | 955 var f = new File(name); |
| 956 f.readAsString(encoding: Encoding.UTF_8).then((text) { | 956 f.readAsString(encoding: UTF_8).then((text) { |
| 957 Expect.equals(6, text.length); | 957 Expect.equals(6, text.length); |
| 958 var expected = [955, 120, 46, 32, 120, 10]; | 958 var expected = [955, 120, 46, 32, 120, 10]; |
| 959 Expect.listEquals(expected, text.codeUnits); | 959 Expect.listEquals(expected, text.codeUnits); |
| 960 f.readAsString(encoding: Encoding.ISO_8859_1).then((text) { | 960 f.readAsString(encoding: ISO_8859_1).then((text) { |
| 961 Expect.equals(7, text.length); | 961 Expect.equals(7, text.length); |
| 962 var expected = [206, 187, 120, 46, 32, 120, 10]; | 962 var expected = [206, 187, 120, 46, 32, 120, 10]; |
| 963 Expect.listEquals(expected, text.codeUnits); | 963 Expect.listEquals(expected, text.codeUnits); |
| 964 var readAsStringFuture = f.readAsString(encoding: Encoding.ASCII); | 964 var readAsStringFuture = f.readAsString(encoding: ASCII); |
| 965 readAsStringFuture.then((text) { | 965 readAsStringFuture.then((text) { |
| 966 Expect.fail("Non-ascii char should cause error"); | 966 Expect.fail("Non-ascii char should cause error"); |
| 967 }).catchError((e) { | 967 }).catchError((e) { |
| 968 port.toSendPort().send(1); | 968 port.toSendPort().send(1); |
| 969 }); | 969 }); |
| 970 }); | 970 }); |
| 971 }); | 971 }); |
| 972 }); | 972 }); |
| 973 } | 973 } |
| 974 | 974 |
| 975 static void testReadAsTextEmptyFile() { | 975 static void testReadAsTextEmptyFile() { |
| 976 var port = new ReceivePort(); | 976 var port = new ReceivePort(); |
| 977 port.receive((result, replyTo) { | 977 port.receive((result, replyTo) { |
| 978 port.close(); | 978 port.close(); |
| 979 Expect.equals(0, result); | 979 Expect.equals(0, result); |
| 980 }); | 980 }); |
| 981 var name = getFilename("tests/vm/data/empty_file"); | 981 var name = getFilename("tests/vm/data/empty_file"); |
| 982 var f = new File(name); | 982 var f = new File(name); |
| 983 f.readAsString(encoding: Encoding.UTF_8).then((text) { | 983 f.readAsString(encoding: UTF_8).then((text) { |
| 984 port.toSendPort().send(text.length); | 984 port.toSendPort().send(text.length); |
| 985 return true; | 985 return true; |
| 986 }); | 986 }); |
| 987 } | 987 } |
| 988 | 988 |
| 989 static void testReadAsTextSync() { | 989 static void testReadAsTextSync() { |
| 990 var name = getFilename("tests/vm/data/fixed_length_file"); | 990 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 991 var text = new File(name).readAsStringSync(); | 991 var text = new File(name).readAsStringSync(); |
| 992 Expect.isTrue(text.endsWith("42 bytes.")); | 992 Expect.isTrue(text.endsWith("42 bytes.")); |
| 993 Expect.equals(42, text.length); | 993 Expect.equals(42, text.length); |
| 994 name = getDataFilename("tests/standalone/io/read_as_text.dat"); | 994 name = getDataFilename("tests/standalone/io/read_as_text.dat"); |
| 995 text = new File(name).readAsStringSync(); | 995 text = new File(name).readAsStringSync(); |
| 996 Expect.equals(6, text.length); | 996 Expect.equals(6, text.length); |
| 997 var expected = [955, 120, 46, 32, 120, 10]; | 997 var expected = [955, 120, 46, 32, 120, 10]; |
| 998 Expect.listEquals(expected, text.codeUnits); | 998 Expect.listEquals(expected, text.codeUnits); |
| 999 text = new File(name).readAsStringSync(encoding: Encoding.ASCII); | 999 text = new File(name).readAsStringSync(encoding: ASCII); |
| 1000 // Default replacement character is '?', char code 63. | 1000 // Default replacement character is '?', char code 63. |
| 1001 expected = [63, 63, 120, 46, 32, 120, 10]; | 1001 expected = [63, 63, 120, 46, 32, 120, 10]; |
| 1002 Expect.listEquals(expected, text.codeUnits); | 1002 Expect.listEquals(expected, text.codeUnits); |
| 1003 text = new File(name).readAsStringSync(encoding: Encoding.ISO_8859_1); | 1003 text = new File(name).readAsStringSync(encoding: ISO_8859_1); |
| 1004 expected = [206, 187, 120, 46, 32, 120, 10]; | 1004 expected = [206, 187, 120, 46, 32, 120, 10]; |
| 1005 Expect.equals(7, text.length); | 1005 Expect.equals(7, text.length); |
| 1006 Expect.listEquals(expected, text.codeUnits); | 1006 Expect.listEquals(expected, text.codeUnits); |
| 1007 } | 1007 } |
| 1008 | 1008 |
| 1009 static void testReadAsTextSyncEmptyFile() { | 1009 static void testReadAsTextSyncEmptyFile() { |
| 1010 var name = getFilename("tests/vm/data/empty_file"); | 1010 var name = getFilename("tests/vm/data/empty_file"); |
| 1011 var text = new File(name).readAsStringSync(); | 1011 var text = new File(name).readAsStringSync(); |
| 1012 Expect.equals(0, text.length); | 1012 Expect.equals(0, text.length); |
| 1013 } | 1013 } |
| 1014 | 1014 |
| 1015 static void testReadAsLines() { | 1015 static void testReadAsLines() { |
| 1016 var port = new ReceivePort(); | 1016 var port = new ReceivePort(); |
| 1017 port.receive((result, replyTo) { | 1017 port.receive((result, replyTo) { |
| 1018 port.close(); | 1018 port.close(); |
| 1019 Expect.equals(42, result); | 1019 Expect.equals(42, result); |
| 1020 }); | 1020 }); |
| 1021 var name = getFilename("tests/vm/data/fixed_length_file"); | 1021 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 1022 var f = new File(name); | 1022 var f = new File(name); |
| 1023 f.readAsLines(encoding: Encoding.UTF_8).then((lines) { | 1023 f.readAsLines(encoding: UTF_8).then((lines) { |
| 1024 Expect.equals(1, lines.length); | 1024 Expect.equals(1, lines.length); |
| 1025 var line = lines[0]; | 1025 var line = lines[0]; |
| 1026 Expect.isTrue(line.endsWith("42 bytes.")); | 1026 Expect.isTrue(line.endsWith("42 bytes.")); |
| 1027 port.toSendPort().send(line.length); | 1027 port.toSendPort().send(line.length); |
| 1028 }); | 1028 }); |
| 1029 } | 1029 } |
| 1030 | 1030 |
| 1031 static void testReadAsLinesSync() { | 1031 static void testReadAsLinesSync() { |
| 1032 var name = getFilename("tests/vm/data/fixed_length_file"); | 1032 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 1033 var lines = new File(name).readAsLinesSync(); | 1033 var lines = new File(name).readAsLinesSync(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1047 port.close(); | 1047 port.close(); |
| 1048 Expect.equals(1, message); | 1048 Expect.equals(1, message); |
| 1049 }); | 1049 }); |
| 1050 var f = new File('.'); | 1050 var f = new File('.'); |
| 1051 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException); | 1051 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException); |
| 1052 Expect.throws(f.readAsStringSync, (e) => e is FileIOException); | 1052 Expect.throws(f.readAsStringSync, (e) => e is FileIOException); |
| 1053 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException); | 1053 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException); |
| 1054 var readAsBytesFuture = f.readAsBytes(); | 1054 var readAsBytesFuture = f.readAsBytes(); |
| 1055 readAsBytesFuture.then((bytes) => Expect.fail("no bytes expected")) | 1055 readAsBytesFuture.then((bytes) => Expect.fail("no bytes expected")) |
| 1056 .catchError((e) { | 1056 .catchError((e) { |
| 1057 var readAsStringFuture = f.readAsString(encoding: Encoding.UTF_8); | 1057 var readAsStringFuture = f.readAsString(encoding: UTF_8); |
| 1058 readAsStringFuture.then((text) => Expect.fail("no text expected")) | 1058 readAsStringFuture.then((text) => Expect.fail("no text expected")) |
| 1059 .catchError((e) { | 1059 .catchError((e) { |
| 1060 var readAsLinesFuture = f.readAsLines(encoding: Encoding.UTF_8); | 1060 var readAsLinesFuture = f.readAsLines(encoding: UTF_8); |
| 1061 readAsLinesFuture.then((lines) => Expect.fail("no lines expected")) | 1061 readAsLinesFuture.then((lines) => Expect.fail("no lines expected")) |
| 1062 .catchError((e) { | 1062 .catchError((e) { |
| 1063 port.toSendPort().send(1); | 1063 port.toSendPort().send(1); |
| 1064 }); | 1064 }); |
| 1065 }); | 1065 }); |
| 1066 }); | 1066 }); |
| 1067 } | 1067 } |
| 1068 | 1068 |
| 1069 static void testLastModified() { | 1069 static void testLastModified() { |
| 1070 var port = new ReceivePort(); | 1070 var port = new ReceivePort(); |
| 1071 new File(new Options().executable).lastModified().then((modified) { | 1071 new File(new Options().executable).lastModified().then((modified) { |
| 1072 Expect.isTrue(modified is DateTime); | 1072 Expect.isTrue(modified is DateTime); |
| 1073 Expect.isTrue(modified.isBefore(new DateTime.now())); | 1073 Expect.isTrue(modified.isBefore(new DateTime.now())); |
| 1074 port.close(); | 1074 port.close(); |
| 1075 }); | 1075 }); |
| 1076 } | 1076 } |
| 1077 | 1077 |
| 1078 static void testLastModifiedSync() { | 1078 static void testLastModifiedSync() { |
| 1079 var modified = new File(new Options().executable).lastModifiedSync(); | 1079 var modified = new File(new Options().executable).lastModifiedSync(); |
| 1080 Expect.isTrue(modified is DateTime); | 1080 Expect.isTrue(modified is DateTime); |
| 1081 Expect.isTrue(modified.isBefore(new DateTime.now())); | 1081 Expect.isTrue(modified.isBefore(new DateTime.now())); |
| 1082 } | 1082 } |
| 1083 | 1083 |
| 1084 // Test that opens the same file for writing then for appending to test | 1084 // Test that opens the same file for writing then for appending to test |
| 1085 // that the file is not truncated when opened for appending. | 1085 // that the file is not truncated when opened for appending. |
| 1086 static void testAppend() { | 1086 static void testAppend() { |
| 1087 var file = new File('${tempDirectory.path}/out_append'); | 1087 var file = new File('${tempDirectory.path}/out_append'); |
| 1088 file.open(mode: FileMode.WRITE).then((openedFile) { | 1088 file.open(mode: WRITE).then((openedFile) { |
| 1089 openedFile.writeString("asdf").then((ignore) { | 1089 openedFile.writeString("asdf").then((ignore) { |
| 1090 openedFile.close().then((ignore) { | 1090 openedFile.close().then((ignore) { |
| 1091 file.open(mode: FileMode.APPEND).then((openedFile) { | 1091 file.open(mode: APPEND).then((openedFile) { |
| 1092 openedFile.length().then((length) { | 1092 openedFile.length().then((length) { |
| 1093 Expect.equals(4, length); | 1093 Expect.equals(4, length); |
| 1094 openedFile.writeString("asdf").then((ignore) { | 1094 openedFile.writeString("asdf").then((ignore) { |
| 1095 openedFile.length().then((length) { | 1095 openedFile.length().then((length) { |
| 1096 Expect.equals(8, length); | 1096 Expect.equals(8, length); |
| 1097 openedFile.close().then((ignore) { | 1097 openedFile.close().then((ignore) { |
| 1098 file.delete().then((ignore) { | 1098 file.delete().then((ignore) { |
| 1099 file.exists().then((exists) { | 1099 file.exists().then((exists) { |
| 1100 Expect.isFalse(exists); | 1100 Expect.isFalse(exists); |
| 1101 asyncTestDone("testAppend"); | 1101 asyncTestDone("testAppend"); |
| 1102 }); | 1102 }); |
| 1103 }); | 1103 }); |
| 1104 }); | 1104 }); |
| 1105 }); | 1105 }); |
| 1106 }); | 1106 }); |
| 1107 }); | 1107 }); |
| 1108 }); | 1108 }); |
| 1109 }); | 1109 }); |
| 1110 }); | 1110 }); |
| 1111 }); | 1111 }); |
| 1112 asyncTestStarted(); | 1112 asyncTestStarted(); |
| 1113 } | 1113 } |
| 1114 | 1114 |
| 1115 static void testAppendSync() { | 1115 static void testAppendSync() { |
| 1116 var file = new File('${tempDirectory.path}/out_append_sync'); | 1116 var file = new File('${tempDirectory.path}/out_append_sync'); |
| 1117 var openedFile = file.openSync(mode: FileMode.WRITE); | 1117 var openedFile = file.openSync(mode: WRITE); |
| 1118 openedFile.writeStringSync("asdf"); | 1118 openedFile.writeStringSync("asdf"); |
| 1119 Expect.equals(4, openedFile.lengthSync()); | 1119 Expect.equals(4, openedFile.lengthSync()); |
| 1120 openedFile.closeSync(); | 1120 openedFile.closeSync(); |
| 1121 openedFile = file.openSync(mode: FileMode.WRITE); | 1121 openedFile = file.openSync(mode: WRITE); |
| 1122 openedFile.setPositionSync(4); | 1122 openedFile.setPositionSync(4); |
| 1123 openedFile.writeStringSync("asdf"); | 1123 openedFile.writeStringSync("asdf"); |
| 1124 Expect.equals(8, openedFile.lengthSync()); | 1124 Expect.equals(8, openedFile.lengthSync()); |
| 1125 openedFile.closeSync(); | 1125 openedFile.closeSync(); |
| 1126 file.deleteSync(); | 1126 file.deleteSync(); |
| 1127 Expect.isFalse(file.existsSync()); | 1127 Expect.isFalse(file.existsSync()); |
| 1128 } | 1128 } |
| 1129 | 1129 |
| 1130 static void testWriteStringUtf8() { | 1130 static void testWriteStringUtf8() { |
| 1131 var file = new File('${tempDirectory.path}/out_write_string'); | 1131 var file = new File('${tempDirectory.path}/out_write_string'); |
| 1132 var string = new String.fromCharCodes([0x192]); | 1132 var string = new String.fromCharCodes([0x192]); |
| 1133 file.open(mode: FileMode.WRITE).then((openedFile) { | 1133 file.open(mode: WRITE).then((openedFile) { |
| 1134 openedFile.writeString(string).then((_) { | 1134 openedFile.writeString(string).then((_) { |
| 1135 openedFile.length().then((l) { | 1135 openedFile.length().then((l) { |
| 1136 Expect.equals(2, l); | 1136 Expect.equals(2, l); |
| 1137 openedFile.close().then((_) { | 1137 openedFile.close().then((_) { |
| 1138 file.open(mode: FileMode.APPEND).then((openedFile) { | 1138 file.open(mode: APPEND).then((openedFile) { |
| 1139 openedFile.setPosition(2).then((_) { | 1139 openedFile.setPosition(2).then((_) { |
| 1140 openedFile.writeString(string).then((_) { | 1140 openedFile.writeString(string).then((_) { |
| 1141 openedFile.length().then((l) { | 1141 openedFile.length().then((l) { |
| 1142 Expect.equals(4, l); | 1142 Expect.equals(4, l); |
| 1143 openedFile.close().then((_) { | 1143 openedFile.close().then((_) { |
| 1144 file.readAsString().then((readBack) { | 1144 file.readAsString().then((readBack) { |
| 1145 Expect.stringEquals(readBack, '$string$string'); | 1145 Expect.stringEquals(readBack, '$string$string'); |
| 1146 file.delete().then((_) { | 1146 file.delete().then((_) { |
| 1147 file.exists().then((e) { | 1147 file.exists().then((e) { |
| 1148 Expect.isFalse(e); | 1148 Expect.isFalse(e); |
| 1149 asyncTestDone("testWriteStringUtf8"); | 1149 asyncTestDone("testWriteStringUtf8"); |
| 1150 }); | 1150 }); |
| 1151 }); | 1151 }); |
| 1152 }); | 1152 }); |
| 1153 }); | 1153 }); |
| 1154 }); | 1154 }); |
| 1155 }); | 1155 }); |
| 1156 }); | 1156 }); |
| 1157 }); | 1157 }); |
| 1158 }); | 1158 }); |
| 1159 }); | 1159 }); |
| 1160 }); | 1160 }); |
| 1161 }); | 1161 }); |
| 1162 asyncTestStarted(); | 1162 asyncTestStarted(); |
| 1163 } | 1163 } |
| 1164 | 1164 |
| 1165 static void testWriteStringUtf8Sync() { | 1165 static void testWriteStringUtf8Sync() { |
| 1166 var file = new File('${tempDirectory.path}/out_write_string_sync'); | 1166 var file = new File('${tempDirectory.path}/out_write_string_sync'); |
| 1167 var string = new String.fromCharCodes([0x192]); | 1167 var string = new String.fromCharCodes([0x192]); |
| 1168 var openedFile = file.openSync(mode: FileMode.WRITE); | 1168 var openedFile = file.openSync(mode: WRITE); |
| 1169 openedFile.writeStringSync(string); | 1169 openedFile.writeStringSync(string); |
| 1170 Expect.equals(2, openedFile.lengthSync()); | 1170 Expect.equals(2, openedFile.lengthSync()); |
| 1171 openedFile.closeSync(); | 1171 openedFile.closeSync(); |
| 1172 openedFile = file.openSync(mode: FileMode.APPEND); | 1172 openedFile = file.openSync(mode: APPEND); |
| 1173 openedFile.setPositionSync(2); | 1173 openedFile.setPositionSync(2); |
| 1174 openedFile.writeStringSync(string); | 1174 openedFile.writeStringSync(string); |
| 1175 Expect.equals(4, openedFile.lengthSync()); | 1175 Expect.equals(4, openedFile.lengthSync()); |
| 1176 openedFile.closeSync(); | 1176 openedFile.closeSync(); |
| 1177 var readBack = file.readAsStringSync(); | 1177 var readBack = file.readAsStringSync(); |
| 1178 Expect.stringEquals(readBack, '$string$string'); | 1178 Expect.stringEquals(readBack, '$string$string'); |
| 1179 file.deleteSync(); | 1179 file.deleteSync(); |
| 1180 Expect.isFalse(file.existsSync()); | 1180 Expect.isFalse(file.existsSync()); |
| 1181 } | 1181 } |
| 1182 | 1182 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1237 testDirectorySync(); | 1237 testDirectorySync(); |
| 1238 testWriteStringUtf8(); | 1238 testWriteStringUtf8(); |
| 1239 testWriteStringUtf8Sync(); | 1239 testWriteStringUtf8Sync(); |
| 1240 }); | 1240 }); |
| 1241 } | 1241 } |
| 1242 } | 1242 } |
| 1243 | 1243 |
| 1244 main() { | 1244 main() { |
| 1245 FileTest.testMain(); | 1245 FileTest.testMain(); |
| 1246 } | 1246 } |
| OLD | NEW |