OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'package:glob/glob.dart'; | 5 import 'package:glob/glob.dart'; |
6 import 'package:path/path.dart' as p; | 6 import 'package:path/path.dart' as p; |
7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
8 | 8 |
9 void main() { | 9 void main() { |
10 test("supports backslash-escaped characters", () { | 10 test("supports backslash-escaped characters", () { |
11 expect(r"*[]{,}?()", contains(new Glob(r"\*\[\]\{\,\}\?\(\)"))); | 11 expect(r"*[]{,}?()", contains(new Glob(r"\*\[\]\{\,\}\?\(\)"))); |
12 if (p.style != p.Style.windows) { | 12 if (p.style != p.Style.windows) { |
13 expect(r"foo\bar", contains(new Glob(r"foo\\bar"))); | 13 expect(r"foo\bar", contains(new Glob(r"foo\\bar"))); |
14 } | 14 } |
15 }); | 15 }); |
16 | 16 |
17 test("disallows an empty glob", () { | 17 test("disallows an empty glob", () { |
18 expect(() => new Glob(""), throwsFormatException); | 18 expect(() => new Glob(""), throwsFormatException); |
19 }); | 19 }); |
20 | 20 |
21 group("range", () { | 21 group("range", () { |
22 test("supports either ^ or ! for negated ranges", () { | 22 test("supports either ^ or ! for negated ranges", () { |
23 var bang = new Glob("fo[!a-z]"); | 23 var bang = new Glob("fo[!a-z]"); |
24 expect("foo", isNot(contains(bang))); | 24 expect("foo", isNot(contains(bang))); |
25 expect("fo2", contains(bang)); | 25 expect("fo2", contains(bang)); |
26 | 26 |
27 var caret = new Glob("fo[^a-z]"); | 27 var caret = new Glob("fo[^a-z]"); |
28 expect("foo", isNot(contains(bang))); | 28 expect("foo", isNot(contains(caret))); |
29 expect("fo2", contains(bang)); | 29 expect("fo2", contains(caret)); |
30 }); | 30 }); |
31 | 31 |
32 test("supports backslash-escaped characters", () { | 32 test("supports backslash-escaped characters", () { |
33 var glob = new Glob(r"fo[\*\--\]]"); | 33 var glob = new Glob(r"fo[\*\--\]]"); |
34 expect("fo]", contains(glob)); | 34 expect("fo]", contains(glob)); |
35 expect("fo-", contains(glob)); | 35 expect("fo-", contains(glob)); |
36 expect("fo*", contains(glob)); | 36 expect("fo*", contains(glob)); |
37 }); | 37 }); |
38 | 38 |
39 test("disallows inverted ranges", () { | 39 test("disallows inverted ranges", () { |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 test("disallows dangling ] in options", () { | 87 test("disallows dangling ] in options", () { |
88 expect(() => new Glob(r"{abc]}"), throwsFormatException); | 88 expect(() => new Glob(r"{abc]}"), throwsFormatException); |
89 }); | 89 }); |
90 }); | 90 }); |
91 | 91 |
92 test("disallows unescaped parens", () { | 92 test("disallows unescaped parens", () { |
93 expect(() => new Glob("foo(bar"), throwsFormatException); | 93 expect(() => new Glob("foo(bar"), throwsFormatException); |
94 expect(() => new Glob("foo)bar"), throwsFormatException); | 94 expect(() => new Glob("foo)bar"), throwsFormatException); |
95 }); | 95 }); |
96 } | 96 } |
OLD | NEW |