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

Unified Diff: tests/standalone/src/io/DirectoryTest.dart

Issue 10252020: test rename overhaul: step 12 - standalone (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: tests/standalone/src/io/DirectoryTest.dart
diff --git a/tests/standalone/src/io/DirectoryTest.dart b/tests/standalone/src/io/DirectoryTest.dart
deleted file mode 100644
index 48db4cd105f20cf2b9362790482b2b9894f0cc9a..0000000000000000000000000000000000000000
--- a/tests/standalone/src/io/DirectoryTest.dart
+++ /dev/null
@@ -1,460 +0,0 @@
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-//
-// Directory listing test.
-
-#import("dart:io");
-#import("dart:isolate");
-
-class DirectoryTest {
- static void testListing() {
- bool listedDir = false;
- bool listedFile = false;
-
- Directory directory = new Directory("");
- directory.createTempSync();
- Directory subDirectory = new Directory("${directory.path}/subdir");
- Expect.isFalse(subDirectory.existsSync());
- subDirectory.createSync();
- File f = new File('${subDirectory.path}/file.txt');
- Expect.isFalse(f.existsSync());
- f.createSync();
-
- directory.onDir = (dir) {
- listedDir = true;
- Expect.isTrue(dir.contains(directory.path));
- Expect.isTrue(dir.contains('subdir'));
- };
-
- directory.onFile = (f) {
- listedFile = true;
- Expect.isTrue(f.contains(directory.path));
- Expect.isTrue(f.contains('subdir'));
- Expect.isTrue(f.contains('file.txt'));
- };
-
- directory.onDone = (completed) {
- Expect.isTrue(completed, "directory listing did not complete");
- Expect.isTrue(listedDir, "directory not found");
- Expect.isTrue(listedFile, "file not found");
- directory.deleteRecursively(() {
- f.exists((exists) => Expect.isFalse(exists));
- directory.exists((exists) => Expect.isFalse(exists));
- subDirectory.exists((exists) => Expect.isFalse(exists));
- });
- };
-
- directory.onError = (e) {
- Expect.fail("error listing directory: $e");
- };
-
- directory.list(recursive: true);
-
- // Listing is asynchronous, so nothing should be listed at this
- // point.
- Expect.isFalse(listedDir);
- Expect.isFalse(listedFile);
- }
-
- static void testListNonExistent() {
- Directory d = new Directory("");
- d.onError = (e) {
- Expect.fail("Directory error: $e");
- };
- d.createTemp(() {
- d.delete(() {
- // Test that listing a non-existing directory fails.
- d.onError = (e) {
- Expect.isTrue(e is DirectoryIOException);
- };
- d.onFile = (file) {
- Expect.fail("Listing of non-existing directory should fail");
- };
- d.onDir = (dir) {
- Expect.fail("Listing of non-existing directory should fail");
- };
- d.onDone = (done) {
- Expect.isFalse(done);
- };
- d.list();
- d.list(recursive: true);
- });
- });
- }
-
- static void testListTooLongName() {
- Directory d = new Directory("");
- d.onError = (e) {
- Expect.fail("Directory error: $e");
- };
- d.createTemp(() {
- var subDirName = 'subdir';
- var subDir = new Directory("${d.path}/$subDirName");
- subDir.onError = (e) {
- Expect.fail("Directory error: $e");
- };
- subDir.create(() {
- // Construct a long string of the form
- // 'tempdir/subdir/../subdir/../subdir'.
- var buffer = new StringBuffer();
- buffer.add(subDir.path);
- for (var i = 0; i < 1000; i++) {
- buffer.add("/../${subDirName}");
- }
- var long = new Directory("${buffer.toString()}");
- var errors = 0;
- long.onError = (e) {
- Expect.isTrue(e is DirectoryIOException);
- if (++errors == 2) {
- d.deleteRecursively(() => null);
- }
- };
- long.onFile = (file) {
- Expect.fail("Listing of non-existing directory should fail");
- };
- long.onDir = (dir) {
- Expect.fail("Listing of non-existing directory should fail");
- };
- long.onDone = (done) {
- Expect.isFalse(done);
- };
- long.list();
- long.list(recursive: true);
- });
- });
- }
-
- static void testDeleteNonExistent() {
- Directory d = new Directory("");
- d.onError = (e) {
- Expect.fail("Directory error: $e");
- };
- d.createTemp(() {
- d.delete(() {
- // Test that deleting a non-existing directory fails.
- d.onError = (e) {
- Expect.isTrue(e is DirectoryIOException);
- };
- d.delete(() {
- Expect.fail("Deletion of non-existing directory should fail");
- });
- d.deleteRecursively(() {
- Expect.fail("Deletion of non-existing directory should fail");
- });
- });
- });
- }
-
- static void testDeleteTooLongName() {
- Directory d = new Directory("");
- d.onError = (e) {
- Expect.fail("Directory error: $e");
- };
- d.createTemp(() {
- var subDirName = 'subdir';
- var subDir = new Directory("${d.path}/$subDirName");
- subDir.onError = (e) {
- Expect.fail("Directory error: $e");
- };
- subDir.create(() {
- // Construct a long string of the form
- // 'tempdir/subdir/../subdir/../subdir'.
- var buffer = new StringBuffer();
- buffer.add(subDir.path);
- for (var i = 0; i < 1000; i++) {
- buffer.add("/../${subDirName}");
- }
- var long = new Directory("${buffer.toString()}");
- var errors = 0;
- long.onError = (e) {
- Expect.isTrue(e is DirectoryIOException);
- if (++errors == 2) {
- d.deleteRecursively(() => null);
- }
- };
- long.delete(() {
- Expect.fail("Deletion of a directory with a long name should fail");
- });
- long.deleteRecursively(() {
- Expect.fail("Deletion of a directory with a long name should fail");
- });
- });
- });
- }
-
- static void testDeleteNonExistentSync() {
- Directory d = new Directory("");
- d.createTempSync();
- d.deleteSync();
- Expect.throws(d.deleteSync);
- Expect.throws(() => d.deleteRecursivelySync());
- }
-
- static void testDeleteTooLongNameSync() {
- Directory d = new Directory("");
- d.createTempSync();
- var subDirName = 'subdir';
- var subDir = new Directory("${d.path}/$subDirName");
- subDir.createSync();
- // Construct a long string of the form
- // 'tempdir/subdir/../subdir/../subdir'.
- var buffer = new StringBuffer();
- buffer.add(subDir.path);
- for (var i = 0; i < 1000; i++) {
- buffer.add("/../${subDirName}");
- }
- var long = new Directory("${buffer.toString()}");
- Expect.throws(long.deleteSync);
- Expect.throws(() => long.deleteRecursivelySync());
- }
-
- static void testExistsCreateDelete() {
- Directory d = new Directory("");
- d.createTemp(() {
- d.exists((bool exists) {
- Expect.isTrue(exists);
- Directory created = new Directory("${d.path}/subdir");
- created.create(() {
- created.exists((bool exists) {
- Expect.isTrue(exists);
- created.delete(() {
- created.exists((bool exists) {
- Expect.isFalse(exists);
- d.delete(() {
- d.exists((bool exists) {
- Expect.isFalse(exists);
- });
- });
- });
- });
- });
- });
- });
- });
- }
-
- static void testExistsCreateDeleteSync() {
- Directory d = new Directory("");
- d.createTempSync();
- Expect.isTrue(d.existsSync());
- Directory created = new Directory("${d.path}/subdir");
- created.createSync();
- Expect.isTrue(created.existsSync());
- created.deleteSync();
- Expect.isFalse(created.existsSync());
- d.deleteSync();
- Expect.isFalse(d.existsSync());
- }
-
- static void testCreateTemp() {
- Directory tempDir1 = new Directory("/tmp/dart_temp_dir_");
- Directory tempDir2 = new Directory("/tmp/dart_temp_dir_");
- bool stage1aDone = false;
- bool stage1bDone = false;
- bool emptyTemplateTestRunning = false;
-
- // Stages 0 through 2 run twice, the second time with an empty path.
- Function stage0;
- Function stage1a;
- Function stage1b;
- Function stage2;
- Function stage3; // Loops to stage 0.
-
- Function error(e) {
- Expect.fail("Directory onError: $e");
- }
-
- stage0 = () {
- tempDir1.onError = error;
- tempDir1.createTemp(stage1a);
- tempDir2.onError = error;
- tempDir2.createTemp(stage1b);
- };
-
- stage1a = () {
- stage1aDone = true;
- Expect.isTrue(tempDir1.existsSync());
- if (stage1bDone) {
- stage2();
- }
- };
-
- stage1b = () {
- stage1bDone = true;
- Expect.isTrue(tempDir2.existsSync());
- if (stage1aDone) {
- stage2();
- }
- };
-
- stage2 = () {
- Expect.notEquals(tempDir1.path, tempDir2.path);
- tempDir1.deleteSync();
- tempDir2.deleteSync();
- Expect.isFalse(tempDir1.existsSync());
- Expect.isFalse(tempDir2.existsSync());
- if (!emptyTemplateTestRunning) {
- emptyTemplateTestRunning = true;
- stage3();
- } else {
- // Done with test.
- }
- };
-
- stage3 = () {
- tempDir1 = new Directory("");
- tempDir2 = new Directory("");
- stage1aDone = false;
- stage1bDone = false;
- stage0();
- };
-
- if (new Directory("/tmp").existsSync()) {
- stage0();
- } else {
- emptyTemplateTestRunning = true;
- stage3();
- }
- }
-
- static void testCreateDeleteTemp() {
- Directory tempDirectory = new Directory("");
- tempDirectory.createTemp(() {
- String filename = tempDirectory.path +
- Platform.pathSeparator() + "dart_testfile";
- File file = new File(filename);
- Expect.isFalse(file.existsSync());
- file.onError = (e) {
- Expect.fail("testCreateTemp file.onError called: $e");
- };
- file.create(() {
- file.exists((bool exists) {
- Expect.isTrue(exists);
- // Try to delete the directory containing the file - should throw.
- Expect.throws(tempDirectory.deleteSync);
- Expect.isTrue(tempDirectory.existsSync());
-
- // Delete the file, and then delete the directory.
- file.delete(() {
- tempDirectory.deleteSync();
- Expect.isFalse(tempDirectory.existsSync());
- });
- });
- });
- });
- }
-
- static void testCurrent() {
- Directory current = new Directory.current();
- if (Platform.operatingSystem() != "windows") {
- Expect.equals("/", current.path.substring(0, 1));
- }
- }
-
- static void testMain() {
- testListing();
- testListNonExistent();
- testListTooLongName();
- testDeleteNonExistent();
- testDeleteTooLongName();
- testDeleteNonExistentSync();
- testDeleteTooLongNameSync();
- testExistsCreateDelete();
- testExistsCreateDeleteSync();
- testCreateTemp();
- testCreateDeleteTemp();
- testCurrent();
- }
-}
-
-
-class NestedTempDirectoryTest {
- List<Directory> createdDirectories;
- Directory current;
-
- NestedTempDirectoryTest.run()
- : createdDirectories = new List<Directory>(),
- current = new Directory("") {
- current.onError = errorCallback;
- current.createTemp(createPhaseCallback);
- }
-
- void errorCallback(e) {
- Expect.fail("Error callback called in NestedTempDirectoryTest: $e");
- }
-
- void createPhaseCallback() {
- createdDirectories.add(current);
- int nestingDepth = 6;
- var os = Platform.operatingSystem();
- if (os == "windows") nestingDepth = 2;
- if (createdDirectories.length < nestingDepth) {
- current = new Directory(
- current.path + "/nested_temp_dir_${createdDirectories.length}_");
- current.onError = errorCallback;
- current.createTemp(createPhaseCallback);
- } else {
- deletePhaseCallback();
- }
- }
-
- void deletePhaseCallback() {
- if (!createdDirectories.isEmpty()) {
- current = createdDirectories.removeLast();
- current.deleteSync();
- deletePhaseCallback();
- }
- }
-
- static void testMain() {
- new NestedTempDirectoryTest.run();
- new NestedTempDirectoryTest.run();
- }
-}
-
-
-String illegalTempDirectoryLocation() {
- // Determine a platform specific illegal location for a temporary directory.
- var os = Platform.operatingSystem();
- if (os == "linux" || os == "macos") {
- return "/dev/zero/";
- }
- if (os == "windows") {
- return "*";
- }
- return null;
-}
-
-
-testCreateTempErrorSync() {
- var location = illegalTempDirectoryLocation();
- if (location != null) {
- Expect.throws(new Directory(location).createTempSync,
- (e) => e is DirectoryIOException);
- }
-}
-
-
-testCreateTempError() {
- var location = illegalTempDirectoryLocation();
- if (location == null) return;
-
- var resultPort = new ReceivePort();
- resultPort.receive((String message, ignored) {
- resultPort.close();
- Expect.equals("error", message);
- });
-
- Directory dir = new Directory(location);
- dir.onError = (e) { resultPort.toSendPort().send("error"); };
- dir.createTemp(() => resultPort.toSendPort().send("success"));
-}
-
-
-main() {
- DirectoryTest.testMain();
- NestedTempDirectoryTest.testMain();
- testCreateTempErrorSync();
- testCreateTempError();
-}
« no previous file with comments | « tests/standalone/src/io/DirectoryInvalidArgumentsTest.dart ('k') | tests/standalone/src/io/EchoServerStreamTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698