OLD | NEW |
1 library pub_tests; | 1 library pub_tests; |
| 2 import 'package:barback/barback.dart'; |
2 import 'package:path/path.dart' as p; | 3 import 'package:path/path.dart' as p; |
3 import 'package:scheduled_test/scheduled_test.dart'; | 4 import 'package:scheduled_test/scheduled_test.dart'; |
4 import '../../lib/src/barback/cycle_exception.dart'; | 5 import '../../lib/src/barback/cycle_exception.dart'; |
5 import '../../lib/src/barback/transformers_needed_by_transformers.dart'; | 6 import '../../lib/src/barback/dependency_computer.dart'; |
6 import '../../lib/src/entrypoint.dart'; | 7 import '../../lib/src/entrypoint.dart'; |
7 import '../../lib/src/io.dart'; | 8 import '../../lib/src/io.dart'; |
8 import '../../lib/src/package.dart'; | 9 import '../../lib/src/package.dart'; |
9 import '../../lib/src/package_graph.dart'; | 10 import '../../lib/src/package_graph.dart'; |
10 import '../../lib/src/source/path.dart'; | 11 import '../../lib/src/source/path.dart'; |
11 import '../../lib/src/system_cache.dart'; | 12 import '../../lib/src/system_cache.dart'; |
12 import '../../lib/src/utils.dart'; | 13 import '../../lib/src/utils.dart'; |
13 import '../test_pub.dart'; | 14 import '../test_pub.dart'; |
14 void expectDependencies(Map<String, Iterable<String>> expected) { | 15 void expectDependencies(Map<String, Iterable<String>> expected) { |
15 expected = mapMap(expected, value: (_, ids) => ids.toSet()); | 16 expected = mapMap(expected, value: (_, ids) => ids.toSet()); |
16 schedule(() { | 17 schedule(() { |
| 18 var computer = new DependencyComputer(_loadPackageGraph()); |
17 var result = mapMap( | 19 var result = mapMap( |
18 computeTransformersNeededByTransformers(_loadPackageGraph()), | 20 computer.transformersNeededByTransformers(), |
19 key: (id, _) => id.toString(), | 21 key: (id, _) => id.toString(), |
20 value: (_, ids) => ids.map((id) => id.toString()).toSet()); | 22 value: (_, ids) => ids.map((id) => id.toString()).toSet()); |
21 expect(result, equals(expected)); | 23 expect(result, equals(expected)); |
22 }, "expect dependencies to match $expected"); | 24 }, "expect dependencies to match $expected"); |
23 } | 25 } |
24 void expectException(matcher) { | 26 void expectException(matcher) { |
25 schedule(() { | 27 schedule(() { |
26 expect( | 28 expect(() { |
27 () => computeTransformersNeededByTransformers(_loadPackageGraph()), | 29 var computer = new DependencyComputer(_loadPackageGraph()); |
28 throwsA(matcher)); | 30 computer.transformersNeededByTransformers(); |
| 31 }, throwsA(matcher)); |
29 }, "expect an exception: $matcher"); | 32 }, "expect an exception: $matcher"); |
30 } | 33 } |
31 void expectCycleException(Iterable<String> steps) { | 34 void expectCycleException(Iterable<String> steps) { |
32 expectException(predicate((error) { | 35 expectException(predicate((error) { |
33 expect(error, new isInstanceOf<CycleException>()); | 36 expect(error, new isInstanceOf<CycleException>()); |
34 expect(error.steps, equals(steps)); | 37 expect(error.steps, equals(steps)); |
35 return true; | 38 return true; |
36 }, "cycle exception:\n${steps.map((step) => " $step").join("\n")}")); | 39 }, "cycle exception:\n${steps.map((step) => " $step").join("\n")}")); |
37 } | 40 } |
| 41 void expectLibraryDependencies(String id, Iterable<String> expected) { |
| 42 expected = expected.toSet(); |
| 43 schedule(() { |
| 44 var computer = new DependencyComputer(_loadPackageGraph()); |
| 45 var result = computer.transformersNeededByLibrary( |
| 46 new AssetId.parse(id)).map((id) => id.toString()).toSet(); |
| 47 expect(result, equals(expected)); |
| 48 }, "expect dependencies to match $expected"); |
| 49 } |
38 PackageGraph _loadPackageGraph() { | 50 PackageGraph _loadPackageGraph() { |
39 var packages = {}; | 51 var packages = {}; |
40 var systemCache = new SystemCache(p.join(sandboxDir, cachePath)); | 52 var systemCache = new SystemCache(p.join(sandboxDir, cachePath)); |
41 systemCache.sources | 53 systemCache.sources |
42 ..register(new PathSource()) | 54 ..register(new PathSource()) |
43 ..setDefault('path'); | 55 ..setDefault('path'); |
44 var entrypoint = new Entrypoint(p.join(sandboxDir, appPath), systemCache); | 56 var entrypoint = new Entrypoint(p.join(sandboxDir, appPath), systemCache); |
45 for (var package in listDir(sandboxDir)) { | 57 for (var package in listDir(sandboxDir)) { |
46 if (!fileExists(p.join(package, 'pubspec.yaml'))) continue; | 58 if (!fileExists(p.join(package, 'pubspec.yaml'))) continue; |
47 var packageName = p.basename(package); | 59 var packageName = p.basename(package); |
(...skipping 21 matching lines...) Loading... |
69 buffer.writeln('import "$import";'); | 81 buffer.writeln('import "$import";'); |
70 } | 82 } |
71 buffer.writeln(""" | 83 buffer.writeln(""" |
72 NoOpTransformer extends Transformer { | 84 NoOpTransformer extends Transformer { |
73 bool isPrimary(AssetId id) => true; | 85 bool isPrimary(AssetId id) => true; |
74 void apply(Transform transform) {} | 86 void apply(Transform transform) {} |
75 } | 87 } |
76 """); | 88 """); |
77 return buffer.toString(); | 89 return buffer.toString(); |
78 } | 90 } |
OLD | NEW |