| OLD | NEW |
| 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 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 450 }); | 450 }); |
| 451 }; | 451 }; |
| 452 }); | 452 }); |
| 453 }); | 453 }); |
| 454 } | 454 } |
| 455 | 455 |
| 456 static void testDirectory() { | 456 static void testDirectory() { |
| 457 asyncTestStarted(); | 457 asyncTestStarted(); |
| 458 | 458 |
| 459 // Port to verify that the test completes. | 459 // Port to verify that the test completes. |
| 460 var port = new ReceivePort.singleShot(); | 460 var port = new ReceivePort(); |
| 461 port.receive((message, replyTo) { | 461 port.receive((message, replyTo) { |
| 462 port.close(); |
| 462 Expect.equals(1, message); | 463 Expect.equals(1, message); |
| 463 asyncTestDone("testDirectory"); | 464 asyncTestDone("testDirectory"); |
| 464 }); | 465 }); |
| 465 | 466 |
| 466 var tempDir = tempDirectory.path; | 467 var tempDir = tempDirectory.path; |
| 467 var file = new File("${tempDir}/testDirectory"); | 468 var file = new File("${tempDir}/testDirectory"); |
| 468 var errors = 0; | 469 var errors = 0; |
| 469 file.directory((d) => Expect.fail("non-existing file")); | 470 file.directory((d) => Expect.fail("non-existing file")); |
| 470 file.onError = (s) { | 471 file.onError = (s) { |
| 471 file.onError = (s) => Expect.fail("no error expected"); | 472 file.onError = (s) => Expect.fail("no error expected"); |
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 var f = new File('.'); | 850 var f = new File('.'); |
| 850 try { | 851 try { |
| 851 f.openSync(); | 852 f.openSync(); |
| 852 Expect.fail("Expected exception opening directory as file"); | 853 Expect.fail("Expected exception opening directory as file"); |
| 853 } catch (var e) { | 854 } catch (var e) { |
| 854 Expect.isTrue(e is FileIOException); | 855 Expect.isTrue(e is FileIOException); |
| 855 } | 856 } |
| 856 } | 857 } |
| 857 | 858 |
| 858 static void testReadAsBytes() { | 859 static void testReadAsBytes() { |
| 859 var port = new ReceivePort.singleShot(); | 860 var port = new ReceivePort(); |
| 860 port.receive((result, replyTo) { | 861 port.receive((result, replyTo) { |
| 862 port.close(); |
| 861 Expect.equals(42, result); | 863 Expect.equals(42, result); |
| 862 }); | 864 }); |
| 863 var name = getFilename("tests/vm/data/fixed_length_file"); | 865 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 864 var f = new File(name); | 866 var f = new File(name); |
| 865 f.readAsBytes((bytes) { | 867 f.readAsBytes((bytes) { |
| 866 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); | 868 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); |
| 867 port.toSendPort().send(bytes.length); | 869 port.toSendPort().send(bytes.length); |
| 868 }); | 870 }); |
| 869 f.onError = (e) { | 871 f.onError = (e) { |
| 870 Expect.fail("No errors expected: $e"); | 872 Expect.fail("No errors expected: $e"); |
| 871 }; | 873 }; |
| 872 } | 874 } |
| 873 | 875 |
| 874 static void testReadAsBytesSync() { | 876 static void testReadAsBytesSync() { |
| 875 var name = getFilename("tests/vm/data/fixed_length_file"); | 877 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 876 var bytes = new File(name).readAsBytesSync(); | 878 var bytes = new File(name).readAsBytesSync(); |
| 877 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); | 879 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); |
| 878 Expect.equals(bytes.length, 42); | 880 Expect.equals(bytes.length, 42); |
| 879 } | 881 } |
| 880 | 882 |
| 881 static void testReadAsText() { | 883 static void testReadAsText() { |
| 882 var port = new ReceivePort.singleShot(); | 884 var port = new ReceivePort(); |
| 883 port.receive((result, replyTo) { | 885 port.receive((result, replyTo) { |
| 886 port.close(); |
| 884 Expect.equals(1, result); | 887 Expect.equals(1, result); |
| 885 }); | 888 }); |
| 886 var name = getFilename("tests/vm/data/fixed_length_file"); | 889 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 887 var f = new File(name); | 890 var f = new File(name); |
| 888 f.readAsText('UTF-8', (text) { | 891 f.readAsText('UTF-8', (text) { |
| 889 Expect.isTrue(text.endsWith("42 bytes.")); | 892 Expect.isTrue(text.endsWith("42 bytes.")); |
| 890 Expect.equals(42, text.length); | 893 Expect.equals(42, text.length); |
| 891 var name = getDataFilename("tests/standalone/src/io/read_as_text.dat"); | 894 var name = getDataFilename("tests/standalone/src/io/read_as_text.dat"); |
| 892 var f = new File(name); | 895 var f = new File(name); |
| 893 f.onError = (e) => Expect.fail("No errors expected"); | 896 f.onError = (e) => Expect.fail("No errors expected"); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 924 var expected = [955, 120, 46, 32, 120, 10]; | 927 var expected = [955, 120, 46, 32, 120, 10]; |
| 925 Expect.listEquals(expected, text.charCodes()); | 928 Expect.listEquals(expected, text.charCodes()); |
| 926 Expect.throws(() { new File(name).readAsTextSync("ASCII"); }); | 929 Expect.throws(() { new File(name).readAsTextSync("ASCII"); }); |
| 927 text = new File(name).readAsTextSync("ISO-8859-1"); | 930 text = new File(name).readAsTextSync("ISO-8859-1"); |
| 928 expected = [206, 187, 120, 46, 32, 120, 10]; | 931 expected = [206, 187, 120, 46, 32, 120, 10]; |
| 929 Expect.equals(7, text.length); | 932 Expect.equals(7, text.length); |
| 930 Expect.listEquals(expected, text.charCodes()); | 933 Expect.listEquals(expected, text.charCodes()); |
| 931 } | 934 } |
| 932 | 935 |
| 933 static void testReadAsLines() { | 936 static void testReadAsLines() { |
| 934 var port = new ReceivePort.singleShot(); | 937 var port = new ReceivePort(); |
| 935 port.receive((result, replyTo) { | 938 port.receive((result, replyTo) { |
| 939 port.close(); |
| 936 Expect.equals(42, result); | 940 Expect.equals(42, result); |
| 937 }); | 941 }); |
| 938 var name = getFilename("tests/vm/data/fixed_length_file"); | 942 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 939 var f = new File(name); | 943 var f = new File(name); |
| 940 f.readAsLines('UTF-8', (lines) { | 944 f.readAsLines('UTF-8', (lines) { |
| 941 Expect.equals(1, lines.length); | 945 Expect.equals(1, lines.length); |
| 942 var line = lines[0]; | 946 var line = lines[0]; |
| 943 Expect.isTrue(line.endsWith("42 bytes.")); | 947 Expect.isTrue(line.endsWith("42 bytes.")); |
| 944 port.toSendPort().send(line.length); | 948 port.toSendPort().send(line.length); |
| 945 }); | 949 }); |
| 946 f.onError = (e) { | 950 f.onError = (e) { |
| 947 Expect.fail("No errors expected: $e"); | 951 Expect.fail("No errors expected: $e"); |
| 948 }; | 952 }; |
| 949 } | 953 } |
| 950 | 954 |
| 951 static void testReadAsLinesSync() { | 955 static void testReadAsLinesSync() { |
| 952 var name = getFilename("tests/vm/data/fixed_length_file"); | 956 var name = getFilename("tests/vm/data/fixed_length_file"); |
| 953 var lines = new File(name).readAsLinesSync(); | 957 var lines = new File(name).readAsLinesSync(); |
| 954 Expect.equals(1, lines.length); | 958 Expect.equals(1, lines.length); |
| 955 var line = lines[0]; | 959 var line = lines[0]; |
| 956 Expect.isTrue(line.endsWith("42 bytes.")); | 960 Expect.isTrue(line.endsWith("42 bytes.")); |
| 957 Expect.equals(42, line.length); | 961 Expect.equals(42, line.length); |
| 958 name = getDataFilename("tests/standalone/src/io/readline_test1.dat"); | 962 name = getDataFilename("tests/standalone/src/io/readline_test1.dat"); |
| 959 lines = new File(name).readAsLinesSync(); | 963 lines = new File(name).readAsLinesSync(); |
| 960 Expect.equals(10, lines.length); | 964 Expect.equals(10, lines.length); |
| 961 } | 965 } |
| 962 | 966 |
| 963 | 967 |
| 964 static void testReadAsErrors() { | 968 static void testReadAsErrors() { |
| 965 var port = new ReceivePort.singleShot(); | 969 var port = new ReceivePort(); |
| 966 port.receive((message, _) { | 970 port.receive((message, _) { |
| 971 port.close(); |
| 967 Expect.equals(1, message); | 972 Expect.equals(1, message); |
| 968 }); | 973 }); |
| 969 var f = new File('.'); | 974 var f = new File('.'); |
| 970 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException); | 975 Expect.throws(f.readAsBytesSync, (e) => e is FileIOException); |
| 971 Expect.throws(f.readAsTextSync, (e) => e is FileIOException); | 976 Expect.throws(f.readAsTextSync, (e) => e is FileIOException); |
| 972 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException); | 977 Expect.throws(f.readAsLinesSync, (e) => e is FileIOException); |
| 973 f.readAsBytes((bytes) => Expect.fail("no bytes expected")); | 978 f.readAsBytes((bytes) => Expect.fail("no bytes expected")); |
| 974 f.onError = (e) { | 979 f.onError = (e) { |
| 975 f.readAsText('UTF-8', (text) => Expect.fail("no text expected")); | 980 f.readAsText('UTF-8', (text) => Expect.fail("no text expected")); |
| 976 f.onError = (e) { | 981 f.onError = (e) { |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 testWriteVariousLists(); | 1081 testWriteVariousLists(); |
| 1077 testDirectory(); | 1082 testDirectory(); |
| 1078 testDirectorySync(); | 1083 testDirectorySync(); |
| 1079 }); | 1084 }); |
| 1080 } | 1085 } |
| 1081 } | 1086 } |
| 1082 | 1087 |
| 1083 main() { | 1088 main() { |
| 1084 FileTest.testMain(); | 1089 FileTest.testMain(); |
| 1085 } | 1090 } |
| OLD | NEW |