Index: sdk/lib/_internal/pub/test/ascii_tree_test.dart |
diff --git a/sdk/lib/_internal/pub/test/ascii_tree_test.dart b/sdk/lib/_internal/pub/test/ascii_tree_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..96d81ee7bc53fe8180dfd6ecf8ccb68d18809a3b |
--- /dev/null |
+++ b/sdk/lib/_internal/pub/test/ascii_tree_test.dart |
@@ -0,0 +1,248 @@ |
+// Copyright (c) 2012, 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. |
+ |
+library lock_file_test; |
+ |
+import 'package:unittest/unittest.dart'; |
+ |
+import '../lib/src/ascii_tree.dart' as tree; |
+import '../lib/src/utils.dart'; |
+ |
+main() { |
+ runningAsTest = true; |
+ |
+ group('tree.fromFiles', () { |
+ test('no files', () { |
+ expect(tree.fromFiles([]), equals("")); |
+ }); |
+ |
+ test('up to ten files in one directory are shown', () { |
+ var files = [ |
+ "dir/a.dart", |
+ "dir/b.dart", |
+ "dir/c.dart", |
+ "dir/d.dart", |
+ "dir/e.dart", |
+ "dir/f.dart", |
+ "dir/g.dart", |
+ "dir/h.dart", |
+ "dir/i.dart", |
+ "dir/j.dart" |
+ ]; |
+ expect(tree.fromFiles(files), equals(""" |
+'-- dir |
+ |-- a.dart |
+ |-- b.dart |
+ |-- c.dart |
+ |-- d.dart |
+ |-- e.dart |
+ |-- f.dart |
+ |-- g.dart |
+ |-- h.dart |
+ |-- i.dart |
+ '-- j.dart |
+""")); |
+ }); |
+ |
+ test('files are elided if there are more than ten', () { |
+ var files = [ |
+ "dir/a.dart", |
+ "dir/b.dart", |
+ "dir/c.dart", |
+ "dir/d.dart", |
+ "dir/e.dart", |
+ "dir/f.dart", |
+ "dir/g.dart", |
+ "dir/h.dart", |
+ "dir/i.dart", |
+ "dir/j.dart", |
+ "dir/k.dart" |
+ ]; |
+ expect(tree.fromFiles(files), equals(""" |
+'-- dir |
+ |-- a.dart |
+ |-- b.dart |
+ |-- c.dart |
+ | (5 more...) |
+ |-- i.dart |
+ |-- j.dart |
+ '-- k.dart |
+""")); |
+ }); |
+ |
+ test('files are not elided at the top level', () { |
+ var files = [ |
+ "a.dart", |
+ "b.dart", |
+ "c.dart", |
+ "d.dart", |
+ "e.dart", |
+ "f.dart", |
+ "g.dart", |
+ "h.dart", |
+ "i.dart", |
+ "j.dart", |
+ "k.dart" |
+ ]; |
+ expect(tree.fromFiles(files), equals(""" |
+|-- a.dart |
+|-- b.dart |
+|-- c.dart |
+|-- d.dart |
+|-- e.dart |
+|-- f.dart |
+|-- g.dart |
+|-- h.dart |
+|-- i.dart |
+|-- j.dart |
+'-- k.dart |
+""")); |
+ }); |
+ |
+ test('a complex example', () { |
+ var files = [ |
+ "TODO", |
+ "example/console_example.dart", |
+ "example/main.dart", |
+ "example/web copy/web_example.dart", |
+ "test/absolute_test.dart", |
+ "test/basename_test.dart", |
+ "test/dirname_test.dart", |
+ "test/extension_test.dart", |
+ "test/is_absolute_test.dart", |
+ "test/is_relative_test.dart", |
+ "test/join_test.dart", |
+ "test/normalize_test.dart", |
+ "test/relative_test.dart", |
+ "test/split_test.dart", |
+ ".gitignore", |
+ "README.md", |
+ "lib/path.dart", |
+ "pubspec.yaml", |
+ "test/all_test.dart", |
+ "test/path_posix_test.dart", |
+ "test/path_windows_test.dart" |
+ ]; |
+ |
+ expect(tree.fromFiles(files), equals(""" |
+|-- .gitignore |
+|-- README.md |
+|-- TODO |
+|-- example |
+| |-- console_example.dart |
+| |-- main.dart |
+| '-- web copy |
+| '-- web_example.dart |
+|-- lib |
+| '-- path.dart |
+|-- pubspec.yaml |
+'-- test |
+ |-- absolute_test.dart |
+ |-- all_test.dart |
+ |-- basename_test.dart |
+ | (7 more...) |
+ |-- path_windows_test.dart |
+ |-- relative_test.dart |
+ '-- split_test.dart |
+""")); |
+ }); |
+ }); |
+ |
+ group('treeFromMap', () { |
+ test('empty map', () { |
+ expect(tree.fromMap({}), equals("")); |
+ }); |
+ |
+ test('a complex example', () { |
+ var map = { |
+ ".gitignore": {}, |
+ "README.md": {}, |
+ "TODO": {}, |
+ "example": { |
+ "console_example.dart": {}, |
+ "main.dart": {}, |
+ "web copy": { |
+ "web_example.dart": {} |
+ }, |
+ }, |
+ "lib": { |
+ "path.dart": {} |
+ }, |
+ "pubspec.yaml": {}, |
+ "test": { |
+ "absolute_test.dart": {}, |
+ "basename_test.dart": {}, |
+ "dirname_test.dart": {}, |
+ "extension_test.dart": {}, |
+ "is_absolute_test.dart": {}, |
+ "is_relative_test.dart": {}, |
+ "join_test.dart": {}, |
+ "normalize_test.dart": {}, |
+ "relative_test.dart": {}, |
+ "split_test.dart": {} |
+ } |
+ }; |
+ |
+ expect(tree.fromMap(map), equals(""" |
+|-- .gitignore |
+|-- README.md |
+|-- TODO |
+|-- example |
+| |-- console_example.dart |
+| |-- main.dart |
+| '-- web copy |
+| '-- web_example.dart |
+|-- lib |
+| '-- path.dart |
+|-- pubspec.yaml |
+'-- test |
+ |-- absolute_test.dart |
+ |-- basename_test.dart |
+ |-- dirname_test.dart |
+ |-- extension_test.dart |
+ |-- is_absolute_test.dart |
+ |-- is_relative_test.dart |
+ |-- join_test.dart |
+ |-- normalize_test.dart |
+ |-- relative_test.dart |
+ '-- split_test.dart |
+""")); |
+ }); |
+ }); |
+ |
+ test('does not elide children if showAllChildren is true', () { |
+ var map = { |
+ 'dir': { |
+ 'a.dart': {}, |
+ 'b.dart': {}, |
+ 'c.dart': {}, |
+ 'd.dart': {}, |
+ 'e.dart': {}, |
+ 'f.dart': {}, |
+ 'g.dart': {}, |
+ 'h.dart': {}, |
+ 'i.dart': {}, |
+ 'j.dart': {}, |
+ 'k.dart': {}, |
+ 'l.dart': {}, |
+ } |
+ }; |
+ expect(tree.fromMap(map, showAllChildren: true), equals(""" |
+'-- dir |
+ |-- a.dart |
+ |-- b.dart |
+ |-- c.dart |
+ |-- d.dart |
+ |-- e.dart |
+ |-- f.dart |
+ |-- g.dart |
+ |-- h.dart |
+ |-- i.dart |
+ |-- j.dart |
+ |-- k.dart |
+ '-- l.dart |
+""")); |
+ }); |
+ |
+} |