| // 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. |
| |
| import 'package:pub/src/ascii_tree.dart' as tree; |
| import 'package:test/test.dart'; |
| |
| main() { |
| 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 |
| """)); |
| }); |
| } |