| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 library descriptor.nothing; | |
| 6 | |
| 7 import 'dart:async'; | |
| 8 import 'dart:io'; | |
| 9 | |
| 10 import 'package:path/path.dart' as path; | |
| 11 | |
| 12 import '../../descriptor.dart'; | |
| 13 import '../../scheduled_test.dart'; | |
| 14 import '../utils.dart'; | |
| 15 | |
| 16 /// A descriptor that validates that no file exists with the given name. | |
| 17 /// Creating this descriptor is a no-op and loading from it is invalid. | |
| 18 class NothingDescriptor extends Descriptor { | |
| 19 NothingDescriptor(String name) | |
| 20 : super(name); | |
| 21 | |
| 22 Future create([String parent]) => new Future.value(); | |
| 23 | |
| 24 Future validate([String parent]) => schedule(() => validateNow(parent), | |
| 25 "validating '$name' doesn't exist"); | |
| 26 | |
| 27 Future validateNow([String parent]) => syncFuture(() { | |
| 28 if (parent == null) parent = defaultRoot; | |
| 29 var fullPath = path.join(parent, name); | |
| 30 if (new File(fullPath).existsSync()) { | |
| 31 fail("Expected nothing to exist at '$fullPath', but found a file."); | |
| 32 } else if (new Directory(fullPath).existsSync()) { | |
| 33 fail("Expected nothing to exist at '$fullPath', but found a directory."); | |
| 34 } else if (new Link(fullPath).existsSync()) { | |
| 35 fail("Expected nothing to exist at '$fullPath', but found a link."); | |
| 36 } else { | |
| 37 return; | |
| 38 } | |
| 39 }); | |
| 40 | |
| 41 String describe() => "nothing at '$name'"; | |
| 42 } | |
| OLD | NEW |