| 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 // Directory listing test. | 5 // Directory listing test. |
| 6 | 6 |
| 7 #import("dart:io"); | 7 #import("dart:io"); |
| 8 #import("dart:isolate"); | 8 #import("dart:isolate"); |
| 9 | 9 |
| 10 class DirectoryTest { | 10 class DirectoryTest { |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 } else { | 315 } else { |
| 316 emptyTemplateTestRunning = true; | 316 emptyTemplateTestRunning = true; |
| 317 stage3(); | 317 stage3(); |
| 318 } | 318 } |
| 319 } | 319 } |
| 320 | 320 |
| 321 static void testCreateDeleteTemp() { | 321 static void testCreateDeleteTemp() { |
| 322 Directory tempDirectory = new Directory(""); | 322 Directory tempDirectory = new Directory(""); |
| 323 tempDirectory.createTemp(() { | 323 tempDirectory.createTemp(() { |
| 324 String filename = tempDirectory.path + | 324 String filename = tempDirectory.path + |
| 325 new Platform().pathSeparator() + "dart_testfile"; | 325 Platform.pathSeparator() + "dart_testfile"; |
| 326 File file = new File(filename); | 326 File file = new File(filename); |
| 327 Expect.isFalse(file.existsSync()); | 327 Expect.isFalse(file.existsSync()); |
| 328 file.onError = (e) { | 328 file.onError = (e) { |
| 329 Expect.fail("testCreateTemp file.onError called: $e"); | 329 Expect.fail("testCreateTemp file.onError called: $e"); |
| 330 }; | 330 }; |
| 331 file.create(() { | 331 file.create(() { |
| 332 file.exists((bool exists) { | 332 file.exists((bool exists) { |
| 333 Expect.isTrue(exists); | 333 Expect.isTrue(exists); |
| 334 // Try to delete the directory containing the file - should throw. | 334 // Try to delete the directory containing the file - should throw. |
| 335 Expect.throws(tempDirectory.deleteSync); | 335 Expect.throws(tempDirectory.deleteSync); |
| 336 Expect.isTrue(tempDirectory.existsSync()); | 336 Expect.isTrue(tempDirectory.existsSync()); |
| 337 | 337 |
| 338 // Delete the file, and then delete the directory. | 338 // Delete the file, and then delete the directory. |
| 339 file.delete(() { | 339 file.delete(() { |
| 340 tempDirectory.deleteSync(); | 340 tempDirectory.deleteSync(); |
| 341 Expect.isFalse(tempDirectory.existsSync()); | 341 Expect.isFalse(tempDirectory.existsSync()); |
| 342 }); | 342 }); |
| 343 }); | 343 }); |
| 344 }); | 344 }); |
| 345 }); | 345 }); |
| 346 } | 346 } |
| 347 | 347 |
| 348 static void testCurrent() { | 348 static void testCurrent() { |
| 349 Directory current = new Directory.current(); | 349 Directory current = new Directory.current(); |
| 350 if (new Platform().operatingSystem() != "windows") { | 350 if (Platform.operatingSystem() != "windows") { |
| 351 Expect.equals("/", current.path.substring(0, 1)); | 351 Expect.equals("/", current.path.substring(0, 1)); |
| 352 } | 352 } |
| 353 } | 353 } |
| 354 | 354 |
| 355 static void testMain() { | 355 static void testMain() { |
| 356 testListing(); | 356 testListing(); |
| 357 testListNonExistent(); | 357 testListNonExistent(); |
| 358 testListTooLongName(); | 358 testListTooLongName(); |
| 359 testDeleteNonExistent(); | 359 testDeleteNonExistent(); |
| 360 testDeleteTooLongName(); | 360 testDeleteTooLongName(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 380 current.createTemp(createPhaseCallback); | 380 current.createTemp(createPhaseCallback); |
| 381 } | 381 } |
| 382 | 382 |
| 383 void errorCallback(e) { | 383 void errorCallback(e) { |
| 384 Expect.fail("Error callback called in NestedTempDirectoryTest: $e"); | 384 Expect.fail("Error callback called in NestedTempDirectoryTest: $e"); |
| 385 } | 385 } |
| 386 | 386 |
| 387 void createPhaseCallback() { | 387 void createPhaseCallback() { |
| 388 createdDirectories.add(current); | 388 createdDirectories.add(current); |
| 389 int nestingDepth = 6; | 389 int nestingDepth = 6; |
| 390 var os = new Platform().operatingSystem(); | 390 var os = Platform.operatingSystem(); |
| 391 if (os == "windows") nestingDepth = 2; | 391 if (os == "windows") nestingDepth = 2; |
| 392 if (createdDirectories.length < nestingDepth) { | 392 if (createdDirectories.length < nestingDepth) { |
| 393 current = new Directory( | 393 current = new Directory( |
| 394 current.path + "/nested_temp_dir_${createdDirectories.length}_"); | 394 current.path + "/nested_temp_dir_${createdDirectories.length}_"); |
| 395 current.onError = errorCallback; | 395 current.onError = errorCallback; |
| 396 current.createTemp(createPhaseCallback); | 396 current.createTemp(createPhaseCallback); |
| 397 } else { | 397 } else { |
| 398 deletePhaseCallback(); | 398 deletePhaseCallback(); |
| 399 } | 399 } |
| 400 } | 400 } |
| 401 | 401 |
| 402 void deletePhaseCallback() { | 402 void deletePhaseCallback() { |
| 403 if (!createdDirectories.isEmpty()) { | 403 if (!createdDirectories.isEmpty()) { |
| 404 current = createdDirectories.removeLast(); | 404 current = createdDirectories.removeLast(); |
| 405 current.deleteSync(); | 405 current.deleteSync(); |
| 406 deletePhaseCallback(); | 406 deletePhaseCallback(); |
| 407 } | 407 } |
| 408 } | 408 } |
| 409 | 409 |
| 410 static void testMain() { | 410 static void testMain() { |
| 411 new NestedTempDirectoryTest.run(); | 411 new NestedTempDirectoryTest.run(); |
| 412 new NestedTempDirectoryTest.run(); | 412 new NestedTempDirectoryTest.run(); |
| 413 } | 413 } |
| 414 } | 414 } |
| 415 | 415 |
| 416 | 416 |
| 417 String illegalTempDirectoryLocation() { | 417 String illegalTempDirectoryLocation() { |
| 418 // Determine a platform specific illegal location for a temporary directory. | 418 // Determine a platform specific illegal location for a temporary directory. |
| 419 var os = new Platform().operatingSystem(); | 419 var os = Platform.operatingSystem(); |
| 420 if (os == "linux" || os == "macos") { | 420 if (os == "linux" || os == "macos") { |
| 421 return "/dev/zero/"; | 421 return "/dev/zero/"; |
| 422 } | 422 } |
| 423 if (os == "windows") { | 423 if (os == "windows") { |
| 424 return "*"; | 424 return "*"; |
| 425 } | 425 } |
| 426 return null; | 426 return null; |
| 427 } | 427 } |
| 428 | 428 |
| 429 | 429 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 451 dir.createTemp(() => resultPort.toSendPort().send("success")); | 451 dir.createTemp(() => resultPort.toSendPort().send("success")); |
| 452 } | 452 } |
| 453 | 453 |
| 454 | 454 |
| 455 main() { | 455 main() { |
| 456 DirectoryTest.testMain(); | 456 DirectoryTest.testMain(); |
| 457 NestedTempDirectoryTest.testMain(); | 457 NestedTempDirectoryTest.testMain(); |
| 458 testCreateTempErrorSync(); | 458 testCreateTempErrorSync(); |
| 459 testCreateTempError(); | 459 testCreateTempError(); |
| 460 } | 460 } |
| OLD | NEW |