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(); |