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

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

Issue 2477903002: Adjust tests/standalone/io/file_test not to resolve relative to Platform.executable. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/standalone/io/empty_file ('k') | tests/standalone/io/file_test.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // OtherResources=empty_file
8 // OtherResources=file_test.txt
7 // OtherResources=fixed_length_file 9 // OtherResources=fixed_length_file
8 // OtherResources=read_as_text.dat 10 // OtherResources=read_as_text.dat
9 // OtherResources=readline_test1.dat 11 // OtherResources=readline_test1.dat
10 12
11 import 'dart:async'; 13 import 'dart:async';
12 import 'dart:convert'; 14 import 'dart:convert';
13 import 'dart:collection'; 15 import 'dart:collection';
14 import 'dart:io'; 16 import 'dart:io';
15 17
16 import "package:async_helper/async_helper.dart"; 18 import "package:async_helper/async_helper.dart";
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 }); 58 });
57 } 59 }
58 60
59 static void deleteTempDirectory() { 61 static void deleteTempDirectory() {
60 tempDirectory.deleteSync(recursive: true); 62 tempDirectory.deleteSync(recursive: true);
61 } 63 }
62 64
63 // Test for file read functionality. 65 // Test for file read functionality.
64 static void testReadStream() { 66 static void testReadStream() {
65 // Read a file and check part of it's contents. 67 // Read a file and check part of it's contents.
66 String filename = getFilename("bin/file_test.cc"); 68 String filename = getFilename("file_test.txt");
67 File file = new File(filename); 69 File file = new File(filename);
68 Expect.isTrue('$file'.contains(file.path)); 70 Expect.isTrue('$file'.contains(file.path));
69 var subscription; 71 var subscription;
70 List<int> buffer = new List<int>(); 72 List<int> buffer = new List<int>();
71 subscription = file.openRead().listen( 73 subscription = file.openRead().listen(
72 (d) { 74 (d) {
73 buffer.addAll(d); 75 buffer.addAll(d);
74 if (buffer.length >= 12) { 76 if (buffer.length >= 12) {
75 subscription.cancel(); 77 subscription.cancel();
76 Expect.equals(47, buffer[0]); // represents '/' in the file. 78 Expect.equals(47, buffer[0]); // represents '/' in the file.
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 Expect.equals(2 * buffer.length, position); 225 Expect.equals(2 * buffer.length, position);
224 outputFile.delete().then((ignore) { done.complete(); }); 226 outputFile.delete().then((ignore) { done.complete(); });
225 }); 227 });
226 }); 228 });
227 return done.future; 229 return done.future;
228 } 230 }
229 231
230 static void testRead() { 232 static void testRead() {
231 asyncStart(); 233 asyncStart();
232 // Read a file and check part of it's contents. 234 // Read a file and check part of it's contents.
233 String filename = getFilename("bin/file_test.cc"); 235 String filename = getFilename("file_test.txt");
234 File file = new File(filename); 236 File file = new File(filename);
235 file.open(mode: READ).then((RandomAccessFile file) { 237 file.open(mode: READ).then((RandomAccessFile file) {
236 List<int> buffer = new List<int>(10); 238 List<int> buffer = new List<int>(10);
237 file.readInto(buffer, 0, 5).then((bytes_read) { 239 file.readInto(buffer, 0, 5).then((bytes_read) {
238 Expect.equals(5, bytes_read); 240 Expect.equals(5, bytes_read);
239 file.readInto(buffer, 5, 10).then((bytes_read) { 241 file.readInto(buffer, 5, 10).then((bytes_read) {
240 Expect.equals(5, bytes_read); 242 Expect.equals(5, bytes_read);
241 Expect.equals(47, buffer[0]); // represents '/' in the file. 243 Expect.equals(47, buffer[0]); // represents '/' in the file.
242 Expect.equals(47, buffer[1]); // represents '/' in the file. 244 Expect.equals(47, buffer[1]); // represents '/' in the file.
243 Expect.equals(32, buffer[2]); // represents ' ' in the file. 245 Expect.equals(32, buffer[2]); // represents ' ' in the file.
244 Expect.equals(67, buffer[3]); // represents 'C' in the file. 246 Expect.equals(67, buffer[3]); // represents 'C' in the file.
245 Expect.equals(111, buffer[4]); // represents 'o' in the file. 247 Expect.equals(111, buffer[4]); // represents 'o' in the file.
246 Expect.equals(112, buffer[5]); // represents 'p' in the file. 248 Expect.equals(112, buffer[5]); // represents 'p' in the file.
247 Expect.equals(121, buffer[6]); // represents 'y' in the file. 249 Expect.equals(121, buffer[6]); // represents 'y' in the file.
248 Expect.equals(114, buffer[7]); // represents 'r' in the file. 250 Expect.equals(114, buffer[7]); // represents 'r' in the file.
249 Expect.equals(105, buffer[8]); // represents 'i' in the file. 251 Expect.equals(105, buffer[8]); // represents 'i' in the file.
250 Expect.equals(103, buffer[9]); // represents 'g' in the file. 252 Expect.equals(103, buffer[9]); // represents 'g' in the file.
251 file.close().then((ignore) => asyncEnd()); 253 file.close().then((ignore) => asyncEnd());
252 }); 254 });
253 }); 255 });
254 }); 256 });
255 } 257 }
256 258
257 static void testReadSync() { 259 static void testReadSync() {
258 // Read a file and check part of it's contents. 260 // Read a file and check part of it's contents.
259 String filename = getFilename("bin/file_test.cc"); 261 String filename = getFilename("file_test.txt");
260 RandomAccessFile raf = (new File(filename)).openSync(); 262 RandomAccessFile raf = (new File(filename)).openSync();
261 List<int> buffer = new List<int>(42); 263 List<int> buffer = new List<int>(42);
262 int bytes_read = 0; 264 int bytes_read = 0;
263 bytes_read = raf.readIntoSync(buffer, 0, 12); 265 bytes_read = raf.readIntoSync(buffer, 0, 12);
264 Expect.equals(12, bytes_read); 266 Expect.equals(12, bytes_read);
265 bytes_read = raf.readIntoSync(buffer, 12, 42); 267 bytes_read = raf.readIntoSync(buffer, 12, 42);
266 Expect.equals(30, bytes_read); 268 Expect.equals(30, bytes_read);
267 Expect.equals(47, buffer[0]); // represents '/' in the file. 269 Expect.equals(47, buffer[0]); // represents '/' in the file.
268 Expect.equals(47, buffer[1]); // represents '/' in the file. 270 Expect.equals(47, buffer[1]); // represents '/' in the file.
269 Expect.equals(32, buffer[2]); // represents ' ' in the file. 271 Expect.equals(32, buffer[2]); // represents ' ' in the file.
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 var f = new File(name); 1066 var f = new File(name);
1065 f.readAsBytes().then((bytes) { 1067 f.readAsBytes().then((bytes) {
1066 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); 1068 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes."));
1067 Expect.equals(42, bytes.length); 1069 Expect.equals(42, bytes.length);
1068 asyncTestDone("testReadAsBytes"); 1070 asyncTestDone("testReadAsBytes");
1069 }); 1071 });
1070 } 1072 }
1071 1073
1072 static void testReadAsBytesEmptyFile() { 1074 static void testReadAsBytesEmptyFile() {
1073 asyncTestStarted(); 1075 asyncTestStarted();
1074 var name = getFilename("tests/vm/data/empty_file"); 1076 var name = getFilename("empty_file");
1075 var f = new File(name); 1077 var f = new File(name);
1076 f.readAsBytes().then((bytes) { 1078 f.readAsBytes().then((bytes) {
1077 Expect.equals(0, bytes.length); 1079 Expect.equals(0, bytes.length);
1078 asyncTestDone("testReadAsBytesEmptyFile"); 1080 asyncTestDone("testReadAsBytesEmptyFile");
1079 }); 1081 });
1080 } 1082 }
1081 1083
1082 static void testReadAsBytesSync() { 1084 static void testReadAsBytesSync() {
1083 var name = getFilename("fixed_length_file"); 1085 var name = getFilename("fixed_length_file");
1084 var bytes = new File(name).readAsBytesSync(); 1086 var bytes = new File(name).readAsBytesSync();
1085 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes.")); 1087 Expect.isTrue(new String.fromCharCodes(bytes).endsWith("42 bytes."));
1086 Expect.equals(bytes.length, 42); 1088 Expect.equals(bytes.length, 42);
1087 } 1089 }
1088 1090
1089 static void testReadAsBytesSyncEmptyFile() { 1091 static void testReadAsBytesSyncEmptyFile() {
1090 var name = getFilename("tests/vm/data/empty_file"); 1092 var name = getFilename("empty_file");
1091 var bytes = new File(name).readAsBytesSync(); 1093 var bytes = new File(name).readAsBytesSync();
1092 Expect.equals(bytes.length, 0); 1094 Expect.equals(bytes.length, 0);
1093 } 1095 }
1094 1096
1095 static void testReadAsText() { 1097 static void testReadAsText() {
1096 asyncTestStarted(); 1098 asyncTestStarted();
1097 var name = getFilename("fixed_length_file"); 1099 var name = getFilename("fixed_length_file");
1098 var f = new File(name); 1100 var f = new File(name);
1099 f.readAsString(encoding: UTF8).then((text) { 1101 f.readAsString(encoding: UTF8).then((text) {
1100 Expect.isTrue(text.endsWith("42 bytes.")); 1102 Expect.isTrue(text.endsWith("42 bytes."));
(...skipping 14 matching lines...) Expand all
1115 }).catchError((e) { 1117 }).catchError((e) {
1116 asyncTestDone("testReadAsText"); 1118 asyncTestDone("testReadAsText");
1117 }); 1119 });
1118 }); 1120 });
1119 }); 1121 });
1120 }); 1122 });
1121 } 1123 }
1122 1124
1123 static void testReadAsTextEmptyFile() { 1125 static void testReadAsTextEmptyFile() {
1124 asyncTestStarted(); 1126 asyncTestStarted();
1125 var name = getFilename("tests/vm/data/empty_file"); 1127 var name = getFilename("empty_file");
1126 var f = new File(name); 1128 var f = new File(name);
1127 f.readAsString(encoding: UTF8).then((text) { 1129 f.readAsString(encoding: UTF8).then((text) {
1128 Expect.equals(0, text.length); 1130 Expect.equals(0, text.length);
1129 asyncTestDone("testReadAsTextEmptyFile"); 1131 asyncTestDone("testReadAsTextEmptyFile");
1130 return true; 1132 return true;
1131 }); 1133 });
1132 } 1134 }
1133 1135
1134 static void testReadAsTextSync() { 1136 static void testReadAsTextSync() {
1135 var name = getFilename("fixed_length_file"); 1137 var name = getFilename("fixed_length_file");
(...skipping 16 matching lines...) Expand all
1152 UNICODE_REPLACEMENT_CHARACTER_RUNE, 1154 UNICODE_REPLACEMENT_CHARACTER_RUNE,
1153 120, 46, 32, 120, 10]; 1155 120, 46, 32, 120, 10];
1154 Expect.listEquals(expected, text.codeUnits); 1156 Expect.listEquals(expected, text.codeUnits);
1155 text = new File(name).readAsStringSync(encoding: LATIN1); 1157 text = new File(name).readAsStringSync(encoding: LATIN1);
1156 expected = [206, 187, 120, 46, 32, 120, 10]; 1158 expected = [206, 187, 120, 46, 32, 120, 10];
1157 Expect.equals(7, text.length); 1159 Expect.equals(7, text.length);
1158 Expect.listEquals(expected, text.codeUnits); 1160 Expect.listEquals(expected, text.codeUnits);
1159 } 1161 }
1160 1162
1161 static void testReadAsTextSyncEmptyFile() { 1163 static void testReadAsTextSyncEmptyFile() {
1162 var name = getFilename("tests/vm/data/empty_file"); 1164 var name = getFilename("empty_file");
1163 var text = new File(name).readAsStringSync(); 1165 var text = new File(name).readAsStringSync();
1164 Expect.equals(0, text.length); 1166 Expect.equals(0, text.length);
1165 } 1167 }
1166 1168
1167 static void testReadAsLines() { 1169 static void testReadAsLines() {
1168 asyncTestStarted(); 1170 asyncTestStarted();
1169 var name = getFilename("fixed_length_file"); 1171 var name = getFilename("fixed_length_file");
1170 var f = new File(name); 1172 var f = new File(name);
1171 f.readAsLines(encoding: UTF8).then((lines) { 1173 f.readAsLines(encoding: UTF8).then((lines) {
1172 Expect.equals(1, lines.length); 1174 Expect.equals(1, lines.length);
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
1395 newfile.deleteSync(); 1397 newfile.deleteSync();
1396 Expect.isFalse(newfile.existsSync()); 1398 Expect.isFalse(newfile.existsSync());
1397 if (Platform.operatingSystem != "windows") { 1399 if (Platform.operatingSystem != "windows") {
1398 var brokenLink = new Link(source); 1400 var brokenLink = new Link(source);
1399 brokenLink.createSync(dest); 1401 brokenLink.createSync(dest);
1400 Expect.throws(() => file.renameSync('xxx')); 1402 Expect.throws(() => file.renameSync('xxx'));
1401 brokenLink.deleteSync(); 1403 brokenLink.deleteSync();
1402 } 1404 }
1403 } 1405 }
1404 1406
1405 // Helper method to be able to run the test from the runtime
1406 // directory, or the top directory.
1407 static String getFilename(String path) { 1407 static String getFilename(String path) {
1408 var testPath = Platform.script.resolve(path); 1408 return Platform.script.resolve(path).toFilePath();
1409 if (new File.fromUri(testPath).existsSync()) {
1410 return testPath.toFilePath();
1411 }
1412 return Uri.parse(Platform.resolvedExecutable)
1413 .resolve('../../runtime/$path').toFilePath();
1414 } 1409 }
1415 1410
1416 // Main test entrypoint. 1411 // Main test entrypoint.
1417 static testMain() { 1412 static testMain() {
1418 asyncStart(); 1413 asyncStart();
1419 1414
1420 testRead(); 1415 testRead();
1421 testReadSync(); 1416 testReadSync();
1422 testReadStream(); 1417 testReadStream();
1423 testLengthSync(); 1418 testLengthSync();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1473 testLastModified(); 1468 testLastModified();
1474 testDoubleAsyncOperation(); 1469 testDoubleAsyncOperation();
1475 asyncEnd(); 1470 asyncEnd();
1476 }); 1471 });
1477 } 1472 }
1478 } 1473 }
1479 1474
1480 main() { 1475 main() {
1481 FileTest.testMain(); 1476 FileTest.testMain();
1482 } 1477 }
OLDNEW
« no previous file with comments | « tests/standalone/io/empty_file ('k') | tests/standalone/io/file_test.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698