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 error handling in file I/O. | 5 // Dart test program for testing error handling in file I/O. |
6 | 6 |
7 import "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
8 import "dart:io"; | 8 import "dart:io"; |
9 import "dart:isolate"; | 9 import "dart:isolate"; |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 temp.deleteSync(recursive: true); | 46 temp.deleteSync(recursive: true); |
47 }); | 47 }); |
48 var file = new File("${temp.path}/nonExistentFile"); | 48 var file = new File("${temp.path}/nonExistentFile"); |
49 | 49 |
50 // Non-existing file should throw exception. | 50 // Non-existing file should throw exception. |
51 Expect.throws(() => file.openSync(), | 51 Expect.throws(() => file.openSync(), |
52 (e) => checkOpenNonExistentFileException(e)); | 52 (e) => checkOpenNonExistentFileException(e)); |
53 | 53 |
54 var openFuture = file.open(mode: FileMode.READ); | 54 var openFuture = file.open(mode: FileMode.READ); |
55 openFuture.then((raf) => Expect.fail("Unreachable code")) | 55 openFuture.then((raf) => Expect.fail("Unreachable code")) |
56 .catchError((e) { | 56 .catchError((error) { |
57 checkOpenNonExistentFileException(e.error); | 57 checkOpenNonExistentFileException(error); |
58 p.toSendPort().send(null); | 58 p.toSendPort().send(null); |
59 }); | 59 }); |
60 } | 60 } |
61 | 61 |
62 | 62 |
63 void testDeleteNonExistent() { | 63 void testDeleteNonExistent() { |
64 Directory temp = tempDir(); | 64 Directory temp = tempDir(); |
65 ReceivePort p = new ReceivePort(); | 65 ReceivePort p = new ReceivePort(); |
66 p.receive((x, y) { | 66 p.receive((x, y) { |
67 p.close(); | 67 p.close(); |
68 temp.deleteSync(recursive: true); | 68 temp.deleteSync(recursive: true); |
69 }); | 69 }); |
70 var file = new File("${temp.path}/nonExistentFile"); | 70 var file = new File("${temp.path}/nonExistentFile"); |
71 | 71 |
72 // Non-existing file should throw exception. | 72 // Non-existing file should throw exception. |
73 Expect.throws(() => file.deleteSync(), | 73 Expect.throws(() => file.deleteSync(), |
74 (e) => checkDeleteNonExistentFileException(e)); | 74 (e) => checkDeleteNonExistentFileException(e)); |
75 | 75 |
76 var delete = file.delete(); | 76 var delete = file.delete(); |
77 delete.then((ignore) => Expect.fail("Unreachable code")) | 77 delete.then((ignore) => Expect.fail("Unreachable code")) |
78 .catchError((e) { | 78 .catchError((error) { |
79 checkDeleteNonExistentFileException(e.error); | 79 checkDeleteNonExistentFileException(error); |
80 p.toSendPort().send(null); | 80 p.toSendPort().send(null); |
81 }); | 81 }); |
82 } | 82 } |
83 | 83 |
84 | 84 |
85 void testLengthNonExistent() { | 85 void testLengthNonExistent() { |
86 Directory temp = tempDir(); | 86 Directory temp = tempDir(); |
87 ReceivePort p = new ReceivePort(); | 87 ReceivePort p = new ReceivePort(); |
88 p.receive((x, y) { | 88 p.receive((x, y) { |
89 p.close(); | 89 p.close(); |
90 temp.deleteSync(recursive: true); | 90 temp.deleteSync(recursive: true); |
91 }); | 91 }); |
92 var file = new File("${temp.path}/nonExistentFile"); | 92 var file = new File("${temp.path}/nonExistentFile"); |
93 | 93 |
94 // Non-existing file should throw exception. | 94 // Non-existing file should throw exception. |
95 Expect.throws(() => file.lengthSync(), | 95 Expect.throws(() => file.lengthSync(), |
96 (e) => checkLengthNonExistentFileException(e)); | 96 (e) => checkLengthNonExistentFileException(e)); |
97 | 97 |
98 var lenFuture = file.length(); | 98 var lenFuture = file.length(); |
99 lenFuture.then((len) => Expect.fail("Unreachable code")) | 99 lenFuture.then((len) => Expect.fail("Unreachable code")) |
100 .catchError((e) { | 100 .catchError((error) { |
101 checkLengthNonExistentFileException(e.error); | 101 checkLengthNonExistentFileException(error); |
102 p.toSendPort().send(null); | 102 p.toSendPort().send(null); |
103 }); | 103 }); |
104 } | 104 } |
105 | 105 |
106 | 106 |
107 bool checkCreateInNonExistentDirectoryException(e) { | 107 bool checkCreateInNonExistentDirectoryException(e) { |
108 Expect.isTrue(e is FileIOException); | 108 Expect.isTrue(e is FileIOException); |
109 Expect.isTrue(e.osError != null); | 109 Expect.isTrue(e.osError != null); |
110 Expect.isTrue(e.toString().indexOf("Cannot create file") != -1); | 110 Expect.isTrue(e.toString().indexOf("Cannot create file") != -1); |
111 if (Platform.operatingSystem == "linux") { | 111 if (Platform.operatingSystem == "linux") { |
(...skipping 15 matching lines...) Expand all Loading... |
127 temp.deleteSync(recursive: true); | 127 temp.deleteSync(recursive: true); |
128 }); | 128 }); |
129 var file = new File("${temp.path}/nonExistentDirectory/newFile"); | 129 var file = new File("${temp.path}/nonExistentDirectory/newFile"); |
130 | 130 |
131 // Create in non-existent directory should throw exception. | 131 // Create in non-existent directory should throw exception. |
132 Expect.throws(() => file.createSync(), | 132 Expect.throws(() => file.createSync(), |
133 (e) => checkCreateInNonExistentDirectoryException(e)); | 133 (e) => checkCreateInNonExistentDirectoryException(e)); |
134 | 134 |
135 var create = file.create(); | 135 var create = file.create(); |
136 create.then((ignore) => Expect.fail("Unreachable code")) | 136 create.then((ignore) => Expect.fail("Unreachable code")) |
137 .catchError((e) { | 137 .catchError((error) { |
138 checkCreateInNonExistentDirectoryException(e.error); | 138 checkCreateInNonExistentDirectoryException(error); |
139 p.toSendPort().send(null); | 139 p.toSendPort().send(null); |
140 }); | 140 }); |
141 } | 141 } |
142 | 142 |
143 bool checkFullPathOnNonExistentDirectoryException(e) { | 143 bool checkFullPathOnNonExistentDirectoryException(e) { |
144 Expect.isTrue(e is FileIOException); | 144 Expect.isTrue(e is FileIOException); |
145 Expect.isTrue(e.osError != null); | 145 Expect.isTrue(e.osError != null); |
146 Expect.isTrue(e.toString().indexOf("Cannot retrieve full path") != -1); | 146 Expect.isTrue(e.toString().indexOf("Cannot retrieve full path") != -1); |
147 // File not not found has error code 2 on all supported platforms. | 147 // File not not found has error code 2 on all supported platforms. |
148 Expect.equals(2, e.osError.errorCode); | 148 Expect.equals(2, e.osError.errorCode); |
149 | 149 |
150 return true; | 150 return true; |
151 } | 151 } |
152 | 152 |
153 void testFullPathOnNonExistentDirectory() { | 153 void testFullPathOnNonExistentDirectory() { |
154 Directory temp = tempDir(); | 154 Directory temp = tempDir(); |
155 ReceivePort p = new ReceivePort(); | 155 ReceivePort p = new ReceivePort(); |
156 p.receive((x, y) { | 156 p.receive((x, y) { |
157 p.close(); | 157 p.close(); |
158 temp.deleteSync(recursive: true); | 158 temp.deleteSync(recursive: true); |
159 }); | 159 }); |
160 var file = new File("${temp.path}/nonExistentDirectory"); | 160 var file = new File("${temp.path}/nonExistentDirectory"); |
161 | 161 |
162 // Full path non-existent directory should throw exception. | 162 // Full path non-existent directory should throw exception. |
163 Expect.throws(() => file.fullPathSync(), | 163 Expect.throws(() => file.fullPathSync(), |
164 (e) => checkFullPathOnNonExistentDirectoryException(e)); | 164 (e) => checkFullPathOnNonExistentDirectoryException(e)); |
165 | 165 |
166 var fullPathFuture = file.fullPath(); | 166 var fullPathFuture = file.fullPath(); |
167 fullPathFuture.then((path) => Expect.fail("Unreachable code $path")) | 167 fullPathFuture.then((path) => Expect.fail("Unreachable code $path")) |
168 .catchError((e) { | 168 .catchError((error) { |
169 checkFullPathOnNonExistentDirectoryException(e.error); | 169 checkFullPathOnNonExistentDirectoryException(error); |
170 p.toSendPort().send(null); | 170 p.toSendPort().send(null); |
171 }); | 171 }); |
172 } | 172 } |
173 | 173 |
174 bool checkDirectoryInNonExistentDirectoryException(e) { | 174 bool checkDirectoryInNonExistentDirectoryException(e) { |
175 Expect.isTrue(e is FileIOException); | 175 Expect.isTrue(e is FileIOException); |
176 Expect.isTrue(e.osError != null); | 176 Expect.isTrue(e.osError != null); |
177 Expect.isTrue( | 177 Expect.isTrue( |
178 e.toString().indexOf("Cannot retrieve directory for file") != -1); | 178 e.toString().indexOf("Cannot retrieve directory for file") != -1); |
179 // File not not found has error code 2 on all supported platforms. | 179 // File not not found has error code 2 on all supported platforms. |
(...skipping 10 matching lines...) Expand all Loading... |
190 temp.deleteSync(recursive: true); | 190 temp.deleteSync(recursive: true); |
191 }); | 191 }); |
192 var file = new File("${temp.path}/nonExistentDirectory/newFile"); | 192 var file = new File("${temp.path}/nonExistentDirectory/newFile"); |
193 | 193 |
194 // Create in non-existent directory should throw exception. | 194 // Create in non-existent directory should throw exception. |
195 Expect.throws(() => file.directorySync(), | 195 Expect.throws(() => file.directorySync(), |
196 (e) => checkDirectoryInNonExistentDirectoryException(e)); | 196 (e) => checkDirectoryInNonExistentDirectoryException(e)); |
197 | 197 |
198 var dirFuture = file.directory(); | 198 var dirFuture = file.directory(); |
199 dirFuture.then((directory) => Expect.fail("Unreachable code")) | 199 dirFuture.then((directory) => Expect.fail("Unreachable code")) |
200 .catchError((e) { | 200 .catchError((error) { |
201 checkDirectoryInNonExistentDirectoryException(e.error); | 201 checkDirectoryInNonExistentDirectoryException(error); |
202 p.toSendPort().send(null); | 202 p.toSendPort().send(null); |
203 }); | 203 }); |
204 } | 204 } |
205 | 205 |
206 void testReadAsBytesNonExistent() { | 206 void testReadAsBytesNonExistent() { |
207 Directory temp = tempDir(); | 207 Directory temp = tempDir(); |
208 ReceivePort p = new ReceivePort(); | 208 ReceivePort p = new ReceivePort(); |
209 p.receive((x, y) { | 209 p.receive((x, y) { |
210 p.close(); | 210 p.close(); |
211 temp.deleteSync(recursive: true); | 211 temp.deleteSync(recursive: true); |
212 }); | 212 }); |
213 var file = new File("${temp.path}/nonExistentFile3"); | 213 var file = new File("${temp.path}/nonExistentFile3"); |
214 | 214 |
215 // Non-existing file should throw exception. | 215 // Non-existing file should throw exception. |
216 Expect.throws(() => file.readAsBytesSync(), | 216 Expect.throws(() => file.readAsBytesSync(), |
217 (e) => checkOpenNonExistentFileException(e)); | 217 (e) => checkOpenNonExistentFileException(e)); |
218 | 218 |
219 var readAsBytesFuture = file.readAsBytes(); | 219 var readAsBytesFuture = file.readAsBytes(); |
220 readAsBytesFuture.then((data) => Expect.fail("Unreachable code")) | 220 readAsBytesFuture.then((data) => Expect.fail("Unreachable code")) |
221 .catchError((e) { | 221 .catchError((error) { |
222 checkOpenNonExistentFileException(e.error); | 222 checkOpenNonExistentFileException(error); |
223 p.toSendPort().send(null); | 223 p.toSendPort().send(null); |
224 }); | 224 }); |
225 } | 225 } |
226 | 226 |
227 void testReadAsTextNonExistent() { | 227 void testReadAsTextNonExistent() { |
228 Directory temp = tempDir(); | 228 Directory temp = tempDir(); |
229 ReceivePort p = new ReceivePort(); | 229 ReceivePort p = new ReceivePort(); |
230 p.receive((x, y) { | 230 p.receive((x, y) { |
231 p.close(); | 231 p.close(); |
232 temp.deleteSync(recursive: true); | 232 temp.deleteSync(recursive: true); |
233 }); | 233 }); |
234 var file = new File("${temp.path}/nonExistentFile4"); | 234 var file = new File("${temp.path}/nonExistentFile4"); |
235 | 235 |
236 // Non-existing file should throw exception. | 236 // Non-existing file should throw exception. |
237 Expect.throws(() => file.readAsStringSync(), | 237 Expect.throws(() => file.readAsStringSync(), |
238 (e) => checkOpenNonExistentFileException(e)); | 238 (e) => checkOpenNonExistentFileException(e)); |
239 | 239 |
240 var readAsStringFuture = file.readAsString(encoding: Encoding.ASCII); | 240 var readAsStringFuture = file.readAsString(encoding: Encoding.ASCII); |
241 readAsStringFuture.then((data) => Expect.fail("Unreachable code")) | 241 readAsStringFuture.then((data) => Expect.fail("Unreachable code")) |
242 .catchError((e) { | 242 .catchError((error) { |
243 checkOpenNonExistentFileException(e.error); | 243 checkOpenNonExistentFileException(error); |
244 p.toSendPort().send(null); | 244 p.toSendPort().send(null); |
245 }); | 245 }); |
246 } | 246 } |
247 | 247 |
248 testReadAsLinesNonExistent() { | 248 testReadAsLinesNonExistent() { |
249 Directory temp = tempDir(); | 249 Directory temp = tempDir(); |
250 ReceivePort p = new ReceivePort(); | 250 ReceivePort p = new ReceivePort(); |
251 p.receive((x, y) { | 251 p.receive((x, y) { |
252 p.close(); | 252 p.close(); |
253 temp.deleteSync(recursive: true); | 253 temp.deleteSync(recursive: true); |
254 }); | 254 }); |
255 var file = new File("${temp.path}/nonExistentFile5"); | 255 var file = new File("${temp.path}/nonExistentFile5"); |
256 | 256 |
257 // Non-existing file should throw exception. | 257 // Non-existing file should throw exception. |
258 Expect.throws(() => file.readAsLinesSync(), | 258 Expect.throws(() => file.readAsLinesSync(), |
259 (e) => checkOpenNonExistentFileException(e)); | 259 (e) => checkOpenNonExistentFileException(e)); |
260 | 260 |
261 var readAsLinesFuture = file.readAsLines(encoding: Encoding.ASCII); | 261 var readAsLinesFuture = file.readAsLines(encoding: Encoding.ASCII); |
262 readAsLinesFuture.then((data) => Expect.fail("Unreachable code")) | 262 readAsLinesFuture.then((data) => Expect.fail("Unreachable code")) |
263 .catchError((e) { | 263 .catchError((error) { |
264 checkOpenNonExistentFileException(e.error); | 264 checkOpenNonExistentFileException(error); |
265 p.toSendPort().send(null); | 265 p.toSendPort().send(null); |
266 }); | 266 }); |
267 } | 267 } |
268 | 268 |
269 bool checkWriteReadOnlyFileException(e) { | 269 bool checkWriteReadOnlyFileException(e) { |
270 Expect.isTrue(e is FileIOException); | 270 Expect.isTrue(e is FileIOException); |
271 Expect.isTrue(e.osError != null); | 271 Expect.isTrue(e.osError != null); |
272 Expect.isTrue(e.osError.errorCode != OSError.noErrorCode); | 272 Expect.isTrue(e.osError.errorCode != OSError.noErrorCode); |
273 return true; | 273 return true; |
274 } | 274 } |
(...skipping 18 matching lines...) Expand all Loading... |
293 | 293 |
294 testWriteByteToReadOnlyFile() { | 294 testWriteByteToReadOnlyFile() { |
295 createTestFile((file, port) { | 295 createTestFile((file, port) { |
296 var openedFile = file.openSync(mode: FileMode.READ); | 296 var openedFile = file.openSync(mode: FileMode.READ); |
297 | 297 |
298 // Writing to read only file should throw an exception. | 298 // Writing to read only file should throw an exception. |
299 Expect.throws(() => openedFile.writeByteSync(0), | 299 Expect.throws(() => openedFile.writeByteSync(0), |
300 (e) => checkWriteReadOnlyFileException(e)); | 300 (e) => checkWriteReadOnlyFileException(e)); |
301 | 301 |
302 var writeByteFuture = openedFile.writeByte(0); | 302 var writeByteFuture = openedFile.writeByte(0); |
303 writeByteFuture.catchError((e) { | 303 writeByteFuture.catchError((error) { |
304 checkWriteReadOnlyFileException(e.error); | 304 checkWriteReadOnlyFileException(error); |
305 openedFile.close().then((ignore) => port.send(null)); | 305 openedFile.close().then((ignore) => port.send(null)); |
306 }); | 306 }); |
307 }); | 307 }); |
308 } | 308 } |
309 | 309 |
310 testWriteFromToReadOnlyFile() { | 310 testWriteFromToReadOnlyFile() { |
311 createTestFile((file, port) { | 311 createTestFile((file, port) { |
312 var openedFile = file.openSync(mode: FileMode.READ); | 312 var openedFile = file.openSync(mode: FileMode.READ); |
313 | 313 |
314 List data = [0, 1, 2, 3]; | 314 List data = [0, 1, 2, 3]; |
315 // Writing to read only file should throw an exception. | 315 // Writing to read only file should throw an exception. |
316 Expect.throws(() => openedFile.writeFromSync(data, 0, data.length), | 316 Expect.throws(() => openedFile.writeFromSync(data, 0, data.length), |
317 (e) => checkWriteReadOnlyFileException(e)); | 317 (e) => checkWriteReadOnlyFileException(e)); |
318 | 318 |
319 var writeFromFuture = openedFile.writeFrom(data, 0, data.length); | 319 var writeFromFuture = openedFile.writeFrom(data, 0, data.length); |
320 writeFromFuture.catchError((e) { | 320 writeFromFuture.catchError((error) { |
321 checkWriteReadOnlyFileException(e.error); | 321 checkWriteReadOnlyFileException(error); |
322 openedFile.close().then((ignore) => port.send(null)); | 322 openedFile.close().then((ignore) => port.send(null)); |
323 }); | 323 }); |
324 }); | 324 }); |
325 } | 325 } |
326 | 326 |
327 testTruncateReadOnlyFile() { | 327 testTruncateReadOnlyFile() { |
328 createTestFile((file, port) { | 328 createTestFile((file, port) { |
329 var openedFile = file.openSync(mode: FileMode.WRITE); | 329 var openedFile = file.openSync(mode: FileMode.WRITE); |
330 openedFile.writeByteSync(0); | 330 openedFile.writeByteSync(0); |
331 openedFile.closeSync(); | 331 openedFile.closeSync(); |
332 openedFile = file.openSync(mode: FileMode.READ); | 332 openedFile = file.openSync(mode: FileMode.READ); |
333 | 333 |
334 // Truncating read only file should throw an exception. | 334 // Truncating read only file should throw an exception. |
335 Expect.throws(() => openedFile.truncateSync(0), | 335 Expect.throws(() => openedFile.truncateSync(0), |
336 (e) => checkWriteReadOnlyFileException(e)); | 336 (e) => checkWriteReadOnlyFileException(e)); |
337 | 337 |
338 var truncateFuture = openedFile.truncate(0); | 338 var truncateFuture = openedFile.truncate(0); |
339 truncateFuture.then((ignore) => Expect.fail("Unreachable code")) | 339 truncateFuture.then((ignore) => Expect.fail("Unreachable code")) |
340 .catchError((e) { | 340 .catchError((error) { |
341 checkWriteReadOnlyFileException(e.error); | 341 checkWriteReadOnlyFileException(error); |
342 openedFile.close().then((ignore) => port.send(null)); | 342 openedFile.close().then((ignore) => port.send(null)); |
343 }); | 343 }); |
344 }); | 344 }); |
345 } | 345 } |
346 | 346 |
347 bool checkFileClosedException(e) { | 347 bool checkFileClosedException(e) { |
348 Expect.isTrue(e is FileIOException); | 348 Expect.isTrue(e is FileIOException); |
349 Expect.isTrue(e.toString().indexOf("File closed") != -1); | 349 Expect.isTrue(e.toString().indexOf("File closed") != -1); |
350 Expect.isTrue(e.osError == null); | 350 Expect.isTrue(e.osError == null); |
351 return true; | 351 return true; |
(...skipping 21 matching lines...) Expand all Loading... |
373 (e) => checkFileClosedException(e)); | 373 (e) => checkFileClosedException(e)); |
374 Expect.throws(() => openedFile.truncateSync(0), | 374 Expect.throws(() => openedFile.truncateSync(0), |
375 (e) => checkFileClosedException(e)); | 375 (e) => checkFileClosedException(e)); |
376 Expect.throws(() => openedFile.lengthSync(), | 376 Expect.throws(() => openedFile.lengthSync(), |
377 (e) => checkFileClosedException(e)); | 377 (e) => checkFileClosedException(e)); |
378 Expect.throws(() => openedFile.flushSync(), | 378 Expect.throws(() => openedFile.flushSync(), |
379 (e) => checkFileClosedException(e)); | 379 (e) => checkFileClosedException(e)); |
380 | 380 |
381 var errorCount = 0; | 381 var errorCount = 0; |
382 | 382 |
383 _errorHandler(e) { | 383 _errorHandler(error) { |
384 checkFileClosedException(e.error); | 384 checkFileClosedException(error); |
385 if (--errorCount == 0) { | 385 if (--errorCount == 0) { |
386 port.send(null); | 386 port.send(null); |
387 } | 387 } |
388 } | 388 } |
389 | 389 |
390 var readByteFuture = openedFile.readByte(); | 390 var readByteFuture = openedFile.readByte(); |
391 readByteFuture.then((byte) => Expect.fail("Unreachable code")) | 391 readByteFuture.then((byte) => Expect.fail("Unreachable code")) |
392 .catchError(_errorHandler); | 392 .catchError(_errorHandler); |
393 errorCount++; | 393 errorCount++; |
394 var writeByteFuture = openedFile.writeByte(0); | 394 var writeByteFuture = openedFile.writeByte(0); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 errorCount++; | 429 errorCount++; |
430 }); | 430 }); |
431 } | 431 } |
432 | 432 |
433 testRepeatedlyCloseFile() { | 433 testRepeatedlyCloseFile() { |
434 createTestFile((file, port) { | 434 createTestFile((file, port) { |
435 var openedFile = file.openSync(); | 435 var openedFile = file.openSync(); |
436 openedFile.close().then((ignore) { | 436 openedFile.close().then((ignore) { |
437 var closeFuture = openedFile.close(); | 437 var closeFuture = openedFile.close(); |
438 closeFuture.then((ignore) => null) | 438 closeFuture.then((ignore) => null) |
439 .catchError((e) { | 439 .catchError((error) { |
440 Expect.isTrue(e.error is FileIOException); | 440 Expect.isTrue(error is FileIOException); |
441 port.send(null); | 441 port.send(null); |
442 }); | 442 }); |
443 }); | 443 }); |
444 }); | 444 }); |
445 } | 445 } |
446 | 446 |
447 testRepeatedlyCloseFileSync() { | 447 testRepeatedlyCloseFileSync() { |
448 createTestFile((file, port) { | 448 createTestFile((file, port) { |
449 var openedFile = file.openSync(); | 449 var openedFile = file.openSync(); |
450 openedFile.closeSync(); | 450 openedFile.closeSync(); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 testReadAsLinesNonExistent(); | 487 testReadAsLinesNonExistent(); |
488 testWriteByteToReadOnlyFile(); | 488 testWriteByteToReadOnlyFile(); |
489 testWriteFromToReadOnlyFile(); | 489 testWriteFromToReadOnlyFile(); |
490 testTruncateReadOnlyFile(); | 490 testTruncateReadOnlyFile(); |
491 testOperateOnClosedFile(); | 491 testOperateOnClosedFile(); |
492 testRepeatedlyCloseFile(); | 492 testRepeatedlyCloseFile(); |
493 testRepeatedlyCloseFileSync(); | 493 testRepeatedlyCloseFileSync(); |
494 testReadSyncBigInt(); | 494 testReadSyncBigInt(); |
495 testReadSyncClosedFile(); | 495 testReadSyncClosedFile(); |
496 } | 496 } |
OLD | NEW |