Index: tests/standalone/io/file_create_test.dart |
diff --git a/tests/standalone/io/file_create_test.dart b/tests/standalone/io/file_create_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ebb94281f47c8344920a5b546b5e2778868f9919 |
--- /dev/null |
+++ b/tests/standalone/io/file_create_test.dart |
@@ -0,0 +1,48 @@ |
+// Copyright (c) 2016, 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. |
+// |
+// Dart test program for testing file creation. |
+ |
+import 'dart:async'; |
+import 'dart:io'; |
+ |
+import "package:expect/expect.dart"; |
+import "package:path/path.dart"; |
+ |
+testCreate() async { |
+ Directory tmp = await Directory.systemTemp.createTemp('file_test_create'); |
+ Expect.isTrue(await tmp.exists()); |
+ String filePath = "${tmp.path}/foo"; |
+ File file = new File(filePath); |
+ File createdFile = await file.create(); |
+ Expect.equals(file, createdFile); |
+ Expect.isTrue(await createdFile.exists()); |
+ await tmp.delete(recursive: true); |
+} |
+ |
+testBadCreate() async { |
+ Directory tmp = await Directory.systemTemp.createTemp('file_test_create'); |
+ Expect.isTrue(await tmp.exists()); |
+ Directory tmp2 = await tmp.createTemp('file_test_create'); |
+ Expect.isTrue(await tmp2.exists()); |
+ String badFilePath = tmp2.path; |
+ File badFile = new File(badFilePath); |
+ try { |
+ await badFile.create(); |
+ Expect.fail('Should be unreachable'); |
+ } catch(e) { |
+ Expect.isTrue(e is FileSystemException); |
+ if (Platform.isWindows) { |
+ Expect.isTrue(e.toString().contains('Access is denied')); |
kasperl
2016/12/22 08:24:40
This is going to fail in non-English locales.
|
+ } else { |
+ Expect.isTrue(e.toString().contains('Is a directory')); |
+ } |
+ } |
+ await tmp.delete(recursive: true); |
+} |
+ |
+main() async { |
+ await testCreate(); |
+ await testBadCreate(); |
+} |