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

Unified Diff: test/dependency_graph_test.dart

Issue 983553002: Allow changing a file from a part to a library. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 10 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
« lib/src/dependency_graph.dart ('K') | « lib/src/dependency_graph.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« lib/src/dependency_graph.dart ('K') | « lib/src/dependency_graph.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698