Index: pkg/front_end/test/memory_file_system_test.dart |
diff --git a/pkg/front_end/test/memory_file_system_test.dart b/pkg/front_end/test/memory_file_system_test.dart |
index 365cd43af7646e6dd85e65debe207a275a713eec..1f7d6c3f9c4c439ef545cf4849f5cfdcbc6ed7f6 100644 |
--- a/pkg/front_end/test/memory_file_system_test.dart |
+++ b/pkg/front_end/test/memory_file_system_test.dart |
@@ -46,7 +46,7 @@ class FileTest extends _BaseTestNative { |
} |
test_path() { |
- expect(file.uri, fileSystem.context.toUri(path)); |
+ expect(file.uri, context.toUri(path)); |
} |
test_readAsBytes_badUtf8() async { |
@@ -86,6 +86,32 @@ class FileTest extends _BaseTestNative { |
expect(await file.readAsString(), '\u20ac'); |
} |
+ test_exists_doesNotExist() async { |
+ expect(await file.exists(), false); |
+ } |
+ |
+ test_exists_exists() async { |
+ file.writeAsStringSync('x'); |
+ expect(await file.exists(), true); |
+ } |
+ |
+ test_lastModified_doesNotExist() async { |
+ expect(file.lastModified(), throwsException); |
+ } |
+ |
+ test_lastModified_increasesOnEachChange() async { |
+ file.writeAsStringSync('x'); |
+ var mod1 = await file.lastModified(); |
+ file.writeAsStringSync('y'); |
+ var mod2 = await file.lastModified(); |
+ expect(mod2.isAfter(mod1), isTrue); |
+ |
+ var file2 = entityForPath(join(tempPath, 'file2.txt')); |
+ file2.writeAsStringSync('z'); |
+ var mod3 = await file2.lastModified(); |
+ expect(mod3.isAfter(mod2), isTrue); |
+ } |
+ |
test_writeAsBytesSync_modifyAfterRead() async { |
file.writeAsBytesSync([1]); |
(await file.readAsBytes())[0] = 2; |
@@ -122,7 +148,7 @@ abstract class MemoryFileSystemTestMixin extends _BaseTest { |
setUp() { |
super.setUp(); |
- tempUri = fileSystem.context.toUri(tempPath); |
+ tempUri = context.toUri(tempPath); |
} |
test_currentDirectory_trailingSlash() { |
@@ -133,15 +159,11 @@ abstract class MemoryFileSystemTestMixin extends _BaseTest { |
var path = fileSystem.currentDirectory.path; |
var currentDirectoryWithoutSlash = fileSystem.currentDirectory |
.replace(path: path.substring(0, path.length - 1)); |
- expect( |
- new MemoryFileSystem(fileSystem.context, currentDirectoryWithoutSlash) |
- .currentDirectory, |
+ expect(new MemoryFileSystem(currentDirectoryWithoutSlash).currentDirectory, |
fileSystem.currentDirectory); |
// If the currentDirectory supplied to the MemoryFileSystem constructor |
// already has a trailing slash, no further trailing slash should be added. |
- expect( |
- new MemoryFileSystem(fileSystem.context, fileSystem.currentDirectory) |
- .currentDirectory, |
+ expect(new MemoryFileSystem(fileSystem.currentDirectory).currentDirectory, |
fileSystem.currentDirectory); |
} |
@@ -213,12 +235,13 @@ class MemoryFileSystemTestWindows extends _BaseTestWindows |
with MemoryFileSystemTestMixin {} |
abstract class _BaseTest { |
+ pathos.Context get context; |
MemoryFileSystem get fileSystem; |
String get tempPath; |
MemoryFileSystemEntity entityForPath(String path) => |
- fileSystem.entityForUri(fileSystem.context.toUri(path)); |
+ fileSystem.entityForUri(context.toUri(path)); |
String join(String path1, String path2, [String path3, String path4]); |
@@ -226,6 +249,7 @@ abstract class _BaseTest { |
} |
class _BaseTestNative extends _BaseTest { |
+ final pathos.Context context = pathos.context; |
MemoryFileSystem fileSystem; |
String tempPath; |
@@ -234,12 +258,12 @@ class _BaseTestNative extends _BaseTest { |
setUp() { |
tempPath = pathos.join(io.Directory.systemTemp.path, 'test_file_system'); |
- fileSystem = new MemoryFileSystem( |
- pathos.context, pathos.toUri(io.Directory.current.path)); |
+ fileSystem = new MemoryFileSystem(pathos.toUri(io.Directory.current.path)); |
} |
} |
class _BaseTestPosix extends _BaseTest { |
+ final pathos.Context context = pathos.posix; |
MemoryFileSystem fileSystem; |
String tempPath; |
@@ -248,11 +272,12 @@ class _BaseTestPosix extends _BaseTest { |
void setUp() { |
tempPath = '/test_file_system'; |
- fileSystem = new MemoryFileSystem(pathos.posix, Uri.parse('file:///cwd')); |
+ fileSystem = new MemoryFileSystem(Uri.parse('file:///cwd')); |
} |
} |
class _BaseTestWindows extends _BaseTest { |
+ final pathos.Context context = pathos.windows; |
MemoryFileSystem fileSystem; |
String tempPath; |
@@ -261,7 +286,6 @@ class _BaseTestWindows extends _BaseTest { |
void setUp() { |
tempPath = r'c:\test_file_system'; |
- fileSystem = |
- new MemoryFileSystem(pathos.windows, Uri.parse('file:///c:/cwd')); |
+ fileSystem = new MemoryFileSystem(Uri.parse('file:///c:/cwd')); |
} |
} |