Index: sdk/lib/_internal/pub_generated/test/io_test.dart |
diff --git a/sdk/lib/_internal/pub/test/io_test.dart b/sdk/lib/_internal/pub_generated/test/io_test.dart |
similarity index 81% |
copy from sdk/lib/_internal/pub/test/io_test.dart |
copy to sdk/lib/_internal/pub_generated/test/io_test.dart |
index cc5d2c4d6124e3e38e1e6be34f34b99c96df9b32..e7eb51be0e7df324a7b267b8e4afc189d481736c 100644 |
--- a/sdk/lib/_internal/pub/test/io_test.dart |
+++ b/sdk/lib/_internal/pub_generated/test/io_test.dart |
@@ -1,21 +1,12 @@ |
-// 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. |
- |
library io_test; |
- |
import 'dart:async'; |
import 'dart:io'; |
- |
import 'package:path/path.dart' as path; |
import 'package:unittest/unittest.dart'; |
- |
import '../lib/src/io.dart'; |
import 'test_pub.dart'; |
- |
main() { |
initConfig(); |
- |
group('listDir', () { |
test('ignores hidden files by default', () { |
expect(withTempDir((temp) { |
@@ -24,14 +15,11 @@ main() { |
writeTextFile(path.join(temp, '.file3.txt'), ''); |
createDir(path.join(temp, '.subdir')); |
writeTextFile(path.join(temp, '.subdir', 'file3.txt'), ''); |
- |
- expect(listDir(temp, recursive: true), unorderedEquals([ |
- path.join(temp, 'file1.txt'), |
- path.join(temp, 'file2.txt') |
- ])); |
+ expect( |
+ listDir(temp, recursive: true), |
+ unorderedEquals([path.join(temp, 'file1.txt'), path.join(temp, 'file2.txt')])); |
}), completes); |
}); |
- |
test('includes hidden files when told to', () { |
expect(withTempDir((temp) { |
writeTextFile(path.join(temp, 'file1.txt'), ''); |
@@ -39,18 +27,17 @@ main() { |
writeTextFile(path.join(temp, '.file3.txt'), ''); |
createDir(path.join(temp, '.subdir')); |
writeTextFile(path.join(temp, '.subdir', 'file3.txt'), ''); |
- |
- expect(listDir(temp, recursive: true, includeHidden: true), |
- unorderedEquals([ |
- path.join(temp, 'file1.txt'), |
- path.join(temp, 'file2.txt'), |
- path.join(temp, '.file3.txt'), |
- path.join(temp, '.subdir'), |
- path.join(temp, '.subdir', 'file3.txt') |
- ])); |
+ expect( |
+ listDir(temp, recursive: true, includeHidden: true), |
+ unorderedEquals( |
+ [ |
+ path.join(temp, 'file1.txt'), |
+ path.join(temp, 'file2.txt'), |
+ path.join(temp, '.file3.txt'), |
+ path.join(temp, '.subdir'), |
+ path.join(temp, '.subdir', 'file3.txt')])); |
}), completes); |
}); |
- |
test("doesn't ignore hidden files above the directory being listed", () { |
expect(withTempDir((temp) { |
var dir = path.join(temp, '.foo', 'bar'); |
@@ -58,16 +45,16 @@ main() { |
writeTextFile(path.join(dir, 'file1.txt'), ''); |
writeTextFile(path.join(dir, 'file2.txt'), ''); |
writeTextFile(path.join(dir, 'file3.txt'), ''); |
- |
- expect(listDir(dir, recursive: true), unorderedEquals([ |
- path.join(dir, 'file1.txt'), |
- path.join(dir, 'file2.txt'), |
- path.join(dir, 'file3.txt') |
- ])); |
+ expect( |
+ listDir(dir, recursive: true), |
+ unorderedEquals( |
+ [ |
+ path.join(dir, 'file1.txt'), |
+ path.join(dir, 'file2.txt'), |
+ path.join(dir, 'file3.txt')])); |
}), completes); |
}); |
}); |
- |
group('canonicalize', () { |
test('resolves a non-link', () { |
expect(withCanonicalTempDir((temp) { |
@@ -76,26 +63,22 @@ main() { |
expect(canonicalize(filePath), equals(filePath)); |
}), completes); |
}); |
- |
test('resolves a non-existent file', () { |
expect(withCanonicalTempDir((temp) { |
- expect(canonicalize(path.join(temp, 'nothing')), |
+ expect( |
+ canonicalize(path.join(temp, 'nothing')), |
equals(path.join(temp, 'nothing'))); |
}), completes); |
}); |
- |
test('resolves a symlink', () { |
expect(withCanonicalTempDir((temp) { |
createDir(path.join(temp, 'linked-dir')); |
- createSymlink( |
- path.join(temp, 'linked-dir'), |
- path.join(temp, 'dir')); |
+ createSymlink(path.join(temp, 'linked-dir'), path.join(temp, 'dir')); |
expect( |
canonicalize(path.join(temp, 'dir')), |
equals(path.join(temp, 'linked-dir'))); |
}), completes); |
}); |
- |
test('resolves a relative symlink', () { |
expect(withCanonicalTempDir((temp) { |
createDir(path.join(temp, 'linked-dir')); |
@@ -108,7 +91,6 @@ main() { |
equals(path.join(temp, 'linked-dir'))); |
}), completes); |
}); |
- |
test('resolves a single-level horizontally recursive symlink', () { |
expect(withCanonicalTempDir((temp) { |
var linkPath = path.join(temp, 'foo'); |
@@ -116,7 +98,6 @@ main() { |
expect(canonicalize(linkPath), equals(linkPath)); |
}), completes); |
}); |
- |
test('resolves a multi-level horizontally recursive symlink', () { |
expect(withCanonicalTempDir((temp) { |
var fooPath = path.join(temp, 'foo'); |
@@ -128,12 +109,10 @@ main() { |
expect(canonicalize(fooPath), equals(fooPath)); |
expect(canonicalize(barPath), equals(barPath)); |
expect(canonicalize(bazPath), equals(bazPath)); |
- |
createSymlink(fooPath, path.join(temp, 'outer')); |
expect(canonicalize(path.join(temp, 'outer')), equals(fooPath)); |
}), completes); |
}); |
- |
test('resolves a broken symlink', () { |
expect(withCanonicalTempDir((temp) { |
createSymlink(path.join(temp, 'nonexistent'), path.join(temp, 'foo')); |
@@ -142,7 +121,6 @@ main() { |
equals(path.join(temp, 'nonexistent'))); |
}), completes); |
}); |
- |
test('resolves multiple nested symlinks', () { |
expect(withCanonicalTempDir((temp) { |
var dir1 = path.join(temp, 'dir1'); |
@@ -158,7 +136,6 @@ main() { |
equals(path.join(subdir2, 'file'))); |
}), completes); |
}); |
- |
test('resolves a nested vertical symlink', () { |
expect(withCanonicalTempDir((temp) { |
var dir1 = path.join(temp, 'dir1'); |
@@ -172,7 +149,6 @@ main() { |
equals(path.join(dir2, 'file'))); |
}), completes); |
}); |
- |
test('resolves a vertically recursive symlink', () { |
expect(withCanonicalTempDir((temp) { |
var dir = path.join(temp, 'dir'); |
@@ -180,13 +156,13 @@ main() { |
createDir(dir); |
createSymlink(dir, subdir); |
expect( |
- canonicalize(path.join(temp, 'dir', 'subdir', 'subdir', 'subdir', |
- 'subdir', 'file')), |
+ canonicalize( |
+ path.join(temp, 'dir', 'subdir', 'subdir', 'subdir', 'subdir', 'file')), |
equals(path.join(dir, 'file'))); |
}), completes); |
}); |
- |
- test('resolves a symlink that links to a path that needs more resolving', |
+ test( |
+ 'resolves a symlink that links to a path that needs more resolving', |
() { |
expect(withCanonicalTempDir((temp) { |
var dir = path.join(temp, 'dir'); |
@@ -195,12 +171,9 @@ main() { |
createDir(dir); |
createSymlink(dir, linkdir); |
createSymlink(path.join(linkdir, 'file'), linkfile); |
- expect( |
- canonicalize(linkfile), |
- equals(path.join(dir, 'file'))); |
+ expect(canonicalize(linkfile), equals(path.join(dir, 'file'))); |
}), completes); |
}); |
- |
test('resolves a pair of pathologically-recursive symlinks', () { |
expect(withCanonicalTempDir((temp) { |
var foo = path.join(temp, 'foo'); |
@@ -215,8 +188,9 @@ main() { |
}), completes); |
}); |
}); |
- |
- testExistencePredicate("entryExists", entryExists, |
+ testExistencePredicate( |
+ "entryExists", |
+ entryExists, |
forFile: true, |
forFileSymlink: true, |
forMultiLevelFileSymlink: true, |
@@ -225,8 +199,9 @@ main() { |
forMultiLevelDirectorySymlink: true, |
forBrokenSymlink: true, |
forMultiLevelBrokenSymlink: true); |
- |
- testExistencePredicate("linkExists", linkExists, |
+ testExistencePredicate( |
+ "linkExists", |
+ linkExists, |
forFile: false, |
forFileSymlink: true, |
forMultiLevelFileSymlink: true, |
@@ -235,8 +210,9 @@ main() { |
forMultiLevelDirectorySymlink: true, |
forBrokenSymlink: true, |
forMultiLevelBrokenSymlink: true); |
- |
- testExistencePredicate("fileExists", fileExists, |
+ testExistencePredicate( |
+ "fileExists", |
+ fileExists, |
forFile: true, |
forFileSymlink: true, |
forMultiLevelFileSymlink: true, |
@@ -245,8 +221,9 @@ main() { |
forMultiLevelDirectorySymlink: false, |
forBrokenSymlink: false, |
forMultiLevelBrokenSymlink: false); |
- |
- testExistencePredicate("dirExists", dirExists, |
+ testExistencePredicate( |
+ "dirExists", |
+ dirExists, |
forFile: false, |
forFileSymlink: false, |
forMultiLevelFileSymlink: false, |
@@ -256,16 +233,10 @@ main() { |
forBrokenSymlink: false, |
forMultiLevelBrokenSymlink: false); |
} |
- |
void testExistencePredicate(String name, bool predicate(String path), |
- {bool forFile, |
- bool forFileSymlink, |
- bool forMultiLevelFileSymlink, |
- bool forDirectory, |
- bool forDirectorySymlink, |
- bool forMultiLevelDirectorySymlink, |
- bool forBrokenSymlink, |
- bool forMultiLevelBrokenSymlink}) { |
+ {bool forFile, bool forFileSymlink, bool forMultiLevelFileSymlink, |
+ bool forDirectory, bool forDirectorySymlink, bool forMultiLevelDirectorySymlink, |
+ bool forBrokenSymlink, bool forMultiLevelBrokenSymlink}) { |
group(name, () { |
test('returns $forFile for a file', () { |
expect(withTempDir((temp) { |
@@ -274,7 +245,6 @@ void testExistencePredicate(String name, bool predicate(String path), |
expect(predicate(file), equals(forFile)); |
}), completes); |
}); |
- |
test('returns $forDirectory for a directory', () { |
expect(withTempDir((temp) { |
var file = path.join(temp, "dir"); |
@@ -282,7 +252,6 @@ void testExistencePredicate(String name, bool predicate(String path), |
expect(predicate(file), equals(forDirectory)); |
}), completes); |
}); |
- |
test('returns $forDirectorySymlink for a symlink to a directory', () { |
expect(withTempDir((temp) { |
var targetPath = path.join(temp, "dir"); |
@@ -292,9 +261,10 @@ void testExistencePredicate(String name, bool predicate(String path), |
expect(predicate(symlinkPath), equals(forDirectorySymlink)); |
}), completes); |
}); |
- |
- test('returns $forMultiLevelDirectorySymlink for a multi-level symlink to ' |
- 'a directory', () { |
+ test( |
+ 'returns $forMultiLevelDirectorySymlink for a multi-level symlink to ' |
+ 'a directory', |
+ () { |
expect(withTempDir((temp) { |
var targetPath = path.join(temp, "dir"); |
var symlink1Path = path.join(temp, "link1dir"); |
@@ -302,11 +272,9 @@ void testExistencePredicate(String name, bool predicate(String path), |
createDir(targetPath); |
createSymlink(targetPath, symlink1Path); |
createSymlink(symlink1Path, symlink2Path); |
- expect(predicate(symlink2Path), |
- equals(forMultiLevelDirectorySymlink)); |
+ expect(predicate(symlink2Path), equals(forMultiLevelDirectorySymlink)); |
}), completes); |
}); |
- |
test('returns $forBrokenSymlink for a broken symlink', () { |
expect(withTempDir((temp) { |
var targetPath = path.join(temp, "dir"); |
@@ -317,8 +285,8 @@ void testExistencePredicate(String name, bool predicate(String path), |
expect(predicate(symlinkPath), equals(forBrokenSymlink)); |
}), completes); |
}); |
- |
- test('returns $forMultiLevelBrokenSymlink for a multi-level broken symlink', |
+ test( |
+ 'returns $forMultiLevelBrokenSymlink for a multi-level broken symlink', |
() { |
expect(withTempDir((temp) { |
var targetPath = path.join(temp, "dir"); |
@@ -331,8 +299,6 @@ void testExistencePredicate(String name, bool predicate(String path), |
expect(predicate(symlink2Path), equals(forMultiLevelBrokenSymlink)); |
}), completes); |
}); |
- |
- // Windows doesn't support symlinking to files. |
if (Platform.operatingSystem != 'windows') { |
test('returns $forFileSymlink for a symlink to a file', () { |
expect(withTempDir((temp) { |
@@ -343,9 +309,9 @@ void testExistencePredicate(String name, bool predicate(String path), |
expect(predicate(symlinkPath), equals(forFileSymlink)); |
}), completes); |
}); |
- |
- test('returns $forMultiLevelFileSymlink for a multi-level symlink to a ' |
- 'file', () { |
+ test( |
+ 'returns $forMultiLevelFileSymlink for a multi-level symlink to a ' 'file', |
+ () { |
expect(withTempDir((temp) { |
var targetPath = path.join(temp, "test.txt"); |
var symlink1Path = path.join(temp, "link1.txt"); |
@@ -359,7 +325,5 @@ void testExistencePredicate(String name, bool predicate(String path), |
} |
}); |
} |
- |
-/// Like [withTempDir], but canonicalizes the path before passing it to [fn]. |
Future withCanonicalTempDir(Future fn(String path)) => |
- withTempDir((temp) => fn(canonicalize(temp))); |
+ withTempDir((temp) => fn(canonicalize(temp))); |