| // 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. |
| |
| // @dart = 2.9 |
| |
| 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); |
| Expect.isNotNull(e.osError); |
| } |
| await tmp.delete(recursive: true); |
| } |
| |
| main() async { |
| await testCreate(); |
| await testBadCreate(); |
| } |