Fix a precedence bug in DirectoryDescriptor.load(). (#2)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 77b3561..2c8a1ab 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,9 @@
 
 * `FileDescriptor.validate()` now allows invalid UTF-8 files.
 
+* Fix a bug where `DirectoryDescriptor.load()` would incorrectly report that
+  multiple versions of a file or directory existed.
+
 ## 1.0.0
 
 * Initial version.
diff --git a/lib/src/directory_descriptor.dart b/lib/src/directory_descriptor.dart
index 1b2ca97..0034e61 100644
--- a/lib/src/directory_descriptor.dart
+++ b/lib/src/directory_descriptor.dart
@@ -93,9 +93,9 @@
       var file = split.length == 1;
       var matchingEntries = contents.where((entry) {
         return entry.name == split.first &&
-            file
+            (file
                 ? entry is FileDescriptor
-                : entry is DirectoryDescriptor;
+                : entry is DirectoryDescriptor);
       }).toList();
 
       var type = file ? 'file' : 'directory';
diff --git a/pubspec.yaml b/pubspec.yaml
index b762b9c..1dba3f3 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: test_descriptor
-version: 1.0.0
+version: 1.0.1
 description: An API for defining and verifying directory structures.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/test_descriptor
diff --git a/test/directory_test.dart b/test/directory_test.dart
index 79cfd6a..cea9627 100644
--- a/test/directory_test.dart
+++ b/test/directory_test.dart
@@ -126,7 +126,10 @@
 
   group("load()", () {
     test("loads a file", () {
-      var dir = d.dir('dir', [d.file('name.txt', 'contents')]);
+      var dir = d.dir('dir', [
+        d.file('name.txt', 'contents'),
+        d.file('other.txt', 'wrong')
+      ]);
       expect(UTF8.decodeStream(dir.load('name.txt')),
           completion(equals('contents')));
     });
@@ -134,8 +137,10 @@
     test("loads a deeply-nested file", () {
       var dir = d.dir('dir', [
         d.dir('subdir', [
-          d.file('name.txt', 'subcontents')
+          d.file('name.txt', 'subcontents'),
+          d.file('other.txt', 'wrong')
         ]),
+        d.dir('otherdir', [d.file('other.txt', 'wrong')]),
         d.file('name.txt', 'contents')
       ]);