| OLD | NEW | 
|---|
| 1 // Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 // SharedOptions=--supermixin | 4 // SharedOptions=--supermixin | 
| 5 | 5 | 
| 6 library front_end.test.physical_file_system_test; | 6 library front_end.test.physical_file_system_test; | 
| 7 | 7 | 
| 8 import 'dart:async'; | 8 import 'dart:async'; | 
| 9 import 'dart:convert'; | 9 import 'dart:convert'; | 
| 10 import 'dart:io' as io; | 10 import 'dart:io' as io; | 
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 89 | 89 | 
| 90   test_exists_fileExists() async { | 90   test_exists_fileExists() async { | 
| 91     new io.File(path).writeAsStringSync('contents'); | 91     new io.File(path).writeAsStringSync('contents'); | 
| 92     expect(await file.exists(), isTrue); | 92     expect(await file.exists(), isTrue); | 
| 93   } | 93   } | 
| 94 | 94 | 
| 95   test_hashCode_samePath() { | 95   test_hashCode_samePath() { | 
| 96     expect(file.hashCode, entityForPath(p.join(tempPath, 'file.txt')).hashCode); | 96     expect(file.hashCode, entityForPath(p.join(tempPath, 'file.txt')).hashCode); | 
| 97   } | 97   } | 
| 98 | 98 | 
| 99   test_lastModified_doesNotExist() { |  | 
| 100     expect(file.lastModified(), _throwsFileSystemException); |  | 
| 101   } |  | 
| 102 |  | 
| 103   test_lastModified_increasesOnEachChange() async { |  | 
| 104     new io.File(path).writeAsStringSync('contents1'); |  | 
| 105     var mod1 = await file.lastModified(); |  | 
| 106 |  | 
| 107     // Pause to ensure the file-system time-stamps are different. |  | 
| 108     await new Future.delayed(new Duration(seconds: 1)); |  | 
| 109     new io.File(path).writeAsStringSync('contents2'); |  | 
| 110     var mod2 = await file.lastModified(); |  | 
| 111     expect(mod2.isAfter(mod1), isTrue); |  | 
| 112 |  | 
| 113     await new Future.delayed(new Duration(seconds: 1)); |  | 
| 114     var path2 = p.join(tempPath, 'file2.txt'); |  | 
| 115     new io.File(path2).writeAsStringSync('contents2'); |  | 
| 116     var file2 = entityForPath(path2); |  | 
| 117     var mod3 = await file2.lastModified(); |  | 
| 118     expect(mod3.isAfter(mod2), isTrue); |  | 
| 119   } |  | 
| 120 |  | 
| 121   test_readAsBytes_badUtf8() async { | 99   test_readAsBytes_badUtf8() async { | 
| 122     // A file containing invalid UTF-8 can still be read as raw bytes. | 100     // A file containing invalid UTF-8 can still be read as raw bytes. | 
| 123     List<int> bytes = [0xc0, 0x40]; // Invalid UTF-8 | 101     List<int> bytes = [0xc0, 0x40]; // Invalid UTF-8 | 
| 124     new io.File(path).writeAsBytesSync(bytes); | 102     new io.File(path).writeAsBytesSync(bytes); | 
| 125     expect(await file.readAsBytes(), bytes); | 103     expect(await file.readAsBytes(), bytes); | 
| 126   } | 104   } | 
| 127 | 105 | 
| 128   test_readAsBytes_doesNotExist() { | 106   test_readAsBytes_doesNotExist() { | 
| 129     expect(file.readAsBytes(), _throwsFileSystemException); | 107     expect(file.readAsBytes(), _throwsFileSystemException); | 
| 130   } | 108   } | 
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 263       tempDirectory.deleteSync(recursive: true); | 241       tempDirectory.deleteSync(recursive: true); | 
| 264     } on io.FileSystemException { | 242     } on io.FileSystemException { | 
| 265       // Sometimes on Windows the delete fails with errno 32 | 243       // Sometimes on Windows the delete fails with errno 32 | 
| 266       // (ERROR_SHARING_VIOLATION: The process cannot access the file because it | 244       // (ERROR_SHARING_VIOLATION: The process cannot access the file because it | 
| 267       // is being used by another process).  Wait 1 second and try again. | 245       // is being used by another process).  Wait 1 second and try again. | 
| 268       await new Future.delayed(new Duration(seconds: 1)); | 246       await new Future.delayed(new Duration(seconds: 1)); | 
| 269       tempDirectory.deleteSync(recursive: true); | 247       tempDirectory.deleteSync(recursive: true); | 
| 270     } | 248     } | 
| 271   } | 249   } | 
| 272 } | 250 } | 
| OLD | NEW | 
|---|