Chromium Code Reviews| Index: test/dependency_graph_test.dart |
| diff --git a/test/dependency_graph_test.dart b/test/dependency_graph_test.dart |
| index 4ad9c748bcf447164893038a621ab5e2d83a8261..a2b1a96ee3f5b8d8729121bfbf011e0672fa5186 100644 |
| --- a/test/dependency_graph_test.dart |
| +++ b/test/dependency_graph_test.dart |
| @@ -55,8 +55,7 @@ main() { |
| '/a10.dart': 'library a10;', |
| }; |
| - nodeOf(String filepath, [bool isPart = false]) => |
| - graph.nodeFromUri(new Uri.file(filepath), isPart); |
| + nodeOf(String filepath) => graph.nodeFromUri(new Uri.file(filepath)); |
| setUp(() { |
| /// We completely reset the TestUriResolver to avoid interference between |
| @@ -198,6 +197,39 @@ main() { |
| expect(node.exports.contains(nodeOf('/a7.dart')), isTrue); |
| expect(node.parts.contains(nodeOf('/a8.dart')), isTrue); |
| }); |
| + |
| + test('change type', () { |
|
Jennifer Messerly
2015/03/05 01:37:01
maybe "change part -> library"
Siggi Cherem (dart-lang)
2015/03/06 18:52:06
Done.
|
| + var node = nodeOf('/a2.dart'); |
| + node.update(graph); |
| + expect(node.imports.length, 2); |
| + expect(node.exports.length, 1); |
| + expect(node.parts.length, 1); |
| + expect(node.imports.contains(nodeOf('/a3.dart')), isTrue); |
| + expect(node.imports.contains(nodeOf('/a4.dart')), isTrue); |
| + expect(node.exports.contains(nodeOf('/a5.dart')), isTrue); |
| + expect(node.parts.contains(nodeOf('/a6.dart')), isTrue); |
| + |
| + node.source.contents.modificationTime++; |
| + node.source.contents.data = ''' |
| + library a2; |
| + import 'a3.dart'; |
| + import 'a4.dart'; |
| + export 'a5.dart'; |
| + import 'a6.dart'; // changed from part |
|
Jennifer Messerly
2015/03/05 01:37:01
do we have tests for both directions for changes?
Siggi Cherem (dart-lang)
2015/03/06 18:52:06
Added them now.
|
| + '''; |
| + var a6 = nodeOf('/a6.dart'); |
| + a6.source.contents.modificationTime++; |
| + a6.source.contents.data = ''; |
| + node.update(graph); |
| + |
| + expect(node.imports.length, 3); |
| + expect(node.exports.length, 1); |
| + expect(node.parts.length, 0); |
| + expect(node.imports.contains(nodeOf('/a3.dart')), isTrue); |
| + expect(node.imports.contains(nodeOf('/a4.dart')), isTrue); |
| + expect(node.imports.contains(nodeOf('/a6.dart')), isTrue); |
| + expect(node.exports.contains(nodeOf('/a5.dart')), isTrue); |
| + }); |
| }); |
| group('local changes', () { |
| @@ -220,7 +252,7 @@ main() { |
| test('main library in Dart', () { |
| var node = nodeOf('/a2.dart'); |
| - var partNode = nodeOf('/a6.dart', true); |
| + var partNode = nodeOf('/a6.dart'); |
| node.update(graph); |
| expect(node.needsRebuild, isTrue); |
| node.needsRebuild = false; |
| @@ -240,7 +272,7 @@ main() { |
| var node = nodeOf('/a2.dart'); |
| var importNode = nodeOf('/a3.dart'); |
| var exportNode = nodeOf('/a5.dart'); |
| - var partNode = nodeOf('/a6.dart', true); |
| + var partNode = nodeOf('/a6.dart'); |
| node.update(graph); |
| expect(node.needsRebuild, isTrue); |
| node.needsRebuild = false; |
| @@ -315,7 +347,7 @@ main() { |
| var node = nodeOf('/a2.dart'); |
| var importNode = nodeOf('/a3.dart'); |
| var exportNode = nodeOf('/a5.dart'); |
| - var partNode = nodeOf('/a6.dart', true); |
| + var partNode = nodeOf('/a6.dart'); |
| node.update(graph); |
| expect(node.structureChanged, isTrue); |
| node.structureChanged = false; |
| @@ -742,7 +774,7 @@ printReachable(SourceNode node) { |
| ..write(n.needsRebuild ? '[needs-rebuild] ' : '') |
| ..write(n.structureChanged ? '[structure-changed] ' : ' ') |
| ..write('\n'); |
| - n.directDeps.forEach((e) => helper(e, indent: indent + 1)); |
| + n.allDeps.forEach((e) => helper(e, indent: indent + 1)); |
| } |
| helper(node); |
| return sb.toString(); |