| 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...) Expand all 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 |