| // Copyright (c) 2013, 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 = 2.9 |
| |
| import "package:expect/expect.dart"; |
| import "dart:io"; |
| |
| void testFileExistsSync() { |
| var tmp = Directory.systemTemp.createTempSync('dart_file_system_exists'); |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| |
| var file = new File("${path}myFile"); |
| file.createSync(); |
| |
| Expect.isTrue(new File(file.path).existsSync()); |
| Expect.isFalse(new Directory(file.path).existsSync()); |
| Expect.isFalse(new Link(file.path).existsSync()); |
| |
| file.deleteSync(); |
| Expect.isFalse(file.existsSync()); |
| |
| tmp.deleteSync(); |
| } |
| |
| void testFileExists() { |
| Directory.systemTemp.createTemp('dart_file_system_exists').then((tmp) { |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| var file = new File("${path}myFile"); |
| return file |
| .create() |
| .then((_) => new File(file.path).exists().then(Expect.isTrue)) |
| .then((_) => new Directory(file.path).exists().then(Expect.isFalse)) |
| .then((_) => new Link(file.path).exists().then(Expect.isFalse)) |
| .then((_) => file.delete()) |
| .then((_) => tmp.delete()); |
| }); |
| } |
| |
| void testDirectoryExistsSync() { |
| var tmp = Directory.systemTemp.createTempSync('dart_file_system_exists'); |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| |
| var dir = new Directory("${path}myDirectory"); |
| dir.createSync(); |
| |
| Expect.isFalse(new File(dir.path).existsSync()); |
| Expect.isTrue(new Directory(dir.path).existsSync()); |
| Expect.isFalse(new Link(dir.path).existsSync()); |
| |
| dir.deleteSync(); |
| Expect.isFalse(dir.existsSync()); |
| |
| tmp.deleteSync(); |
| } |
| |
| void testDirectoryExists() { |
| Directory.systemTemp.createTemp('dart_file_system_exists').then((tmp) { |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| var dir = new Directory("${path}myDirectory"); |
| return dir |
| .create() |
| .then((_) => new File(dir.path).exists().then(Expect.isFalse)) |
| .then((_) => new Directory(dir.path).exists().then(Expect.isTrue)) |
| .then((_) => new Link(dir.path).exists().then(Expect.isFalse)) |
| .then((_) => dir.delete()) |
| .then((_) => tmp.delete()); |
| }); |
| } |
| |
| void testFileLinkExistsSync() { |
| var tmp = Directory.systemTemp.createTempSync('dart_file_system_exists'); |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| |
| var file = new File("${path}myFile"); |
| file.createSync(); |
| |
| var link = new Link("${path}myLink"); |
| link.createSync(file.path); |
| |
| Expect.isTrue(new File(link.path).existsSync()); |
| Expect.isFalse(new Directory(link.path).existsSync()); |
| Expect.isTrue(new Link(link.path).existsSync()); |
| |
| link.deleteSync(); |
| Expect.isFalse(link.existsSync()); |
| |
| file.deleteSync(); |
| Expect.isFalse(file.existsSync()); |
| |
| tmp.deleteSync(); |
| } |
| |
| void testFileLinkExists() { |
| Directory.systemTemp.createTemp('dart_file_system_exists').then((tmp) { |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| var file = new File("${path}myFile"); |
| var link = new Link("${path}myLink"); |
| return file |
| .create() |
| .then((_) => link.create(file.path)) |
| .then((_) => new File(link.path).exists().then(Expect.isTrue)) |
| .then((_) => new Directory(link.path).exists().then(Expect.isFalse)) |
| .then((_) => new Link(link.path).exists().then(Expect.isTrue)) |
| .then((_) => link.delete()) |
| .then((_) => file.delete()) |
| .then((_) => tmp.delete()); |
| }); |
| } |
| |
| void testDirectoryLinkExistsSync() { |
| var tmp = Directory.systemTemp.createTempSync('dart_file_system_exists'); |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| |
| var directory = new Directory("${path}myDirectory"); |
| directory.createSync(); |
| |
| var link = new Link("${path}myLink"); |
| link.createSync(directory.path); |
| |
| Expect.isFalse(new File(link.path).existsSync()); |
| Expect.isTrue(new Directory(link.path).existsSync()); |
| Expect.isTrue(new Link(link.path).existsSync()); |
| |
| link.deleteSync(); |
| Expect.isFalse(link.existsSync()); |
| |
| directory.deleteSync(); |
| Expect.isFalse(directory.existsSync()); |
| |
| tmp.deleteSync(); |
| } |
| |
| void testDirectoryLinkExists() { |
| Directory.systemTemp.createTemp('dart_file_system_exists').then((tmp) { |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| var dir = new Directory("${path}myDir"); |
| var link = new Link("${path}myLink"); |
| return dir |
| .create() |
| .then((_) => link.create(dir.path)) |
| .then((_) => new File(link.path).exists().then(Expect.isFalse)) |
| .then((_) => new Directory(link.path).exists().then(Expect.isTrue)) |
| .then((_) => new Link(link.path).exists().then(Expect.isTrue)) |
| .then((_) => link.delete()) |
| .then((_) => dir.delete()) |
| .then((_) => tmp.delete()); |
| }); |
| } |
| |
| void testBrokenLinkExistsSync() { |
| var tmp = Directory.systemTemp.createTempSync('dart_file_system_exists'); |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| |
| var directory = new Directory("${path}myDirectory"); |
| directory.createSync(); |
| |
| var link = new Link("${path}myLink"); |
| link.createSync(directory.path); |
| directory.deleteSync(); |
| |
| Expect.isFalse(new File(link.path).existsSync()); |
| Expect.isFalse(new Directory(link.path).existsSync()); |
| Expect.isTrue(new Link(link.path).existsSync()); |
| |
| link.deleteSync(); |
| Expect.isFalse(link.existsSync()); |
| |
| tmp.deleteSync(); |
| } |
| |
| void testBrokenLinkExists() { |
| Directory.systemTemp.createTemp('dart_file_system_exists').then((tmp) { |
| var path = "${tmp.path}${Platform.pathSeparator}"; |
| var dir = new Directory("${path}myDir"); |
| var link = new Link("${path}myLink"); |
| return dir |
| .create() |
| .then((_) => link.create(dir.path)) |
| .then((_) => dir.delete()) |
| .then((_) => new File(link.path).exists().then(Expect.isFalse)) |
| .then((_) => new Directory(link.path).exists().then(Expect.isFalse)) |
| .then((_) => new Link(link.path).exists().then(Expect.isTrue)) |
| .then((_) => link.delete()) |
| .then((_) => tmp.delete()); |
| }); |
| } |
| |
| void main() { |
| testFileExistsSync(); |
| testFileExists(); |
| testDirectoryExistsSync(); |
| testDirectoryExists(); |
| if (Platform.operatingSystem != 'windows') { |
| testFileLinkExistsSync(); |
| testFileLinkExists(); |
| } |
| testDirectoryLinkExistsSync(); |
| testDirectoryLinkExists(); |
| testBrokenLinkExistsSync(); |
| testBrokenLinkExists(); |
| } |