Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1634)

Unified Diff: sdk/lib/_internal/pub/test/ascii_tree_test.dart

Issue 217343004: Add a "pub dependencies" command. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revise. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
+"""));
+ });
+
+}

Powered by Google App Engine
This is Rietveld 408576698