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

Unified Diff: pkg/barback/test/utils.dart

Issue 554783003: Add the ability for a PackageProvider to declare static packages. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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
« no previous file with comments | « pkg/barback/test/static_provider_test.dart ('k') | sdk/lib/_internal/pub/lib/src/barback.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/barback/test/utils.dart
diff --git a/pkg/barback/test/utils.dart b/pkg/barback/test/utils.dart
index 2ab3abc47f171ab403baf89e37b77f9b2829985f..235a68fbdbb3b16cd894d0d2d937a1d379206c09 100644
--- a/pkg/barback/test/utils.dart
+++ b/pkg/barback/test/utils.dart
@@ -84,11 +84,18 @@ void initConfig() {
/// [transformers] is a map from package names to the transformers for each
/// package.
void initGraph([assets,
- Map<String, Iterable<Iterable<Transformer>>> transformers]) {
+ Map<String, Iterable<Iterable<Transformer>>> transformers]) =>
+ initStaticGraph(assets, transformers: transformers);
+
+void initStaticGraph(assets, {Iterable<String> staticPackages,
+ Map<String, Iterable<Iterable<Transformer>>> transformers}) {
if (assets == null) assets = [];
+ if (staticPackages == null) staticPackages = [];
if (transformers == null) transformers = {};
- _provider = new MockProvider(assets, additionalPackages: transformers.keys);
+ _provider = new MockProvider(assets,
+ staticPackages: staticPackages,
+ additionalPackages: transformers.keys);
_barback = new Barback(_provider);
// Add a dummy listener to the log so it doesn't print to stdout.
_barback.log.listen((_) {});
@@ -469,8 +476,11 @@ Future _futureShouldNotCompleteUntil(Future future, Future delay,
}
/// An [AssetProvider] that provides the given set of assets.
-class MockProvider implements PackageProvider {
- Iterable<String> get packages => _assets.keys;
+class MockProvider implements StaticPackageProvider {
+ Iterable<String> get packages =>
+ _assets.keys.toSet().difference(staticPackages);
+
+ final Set<String> staticPackages;
final Map<String, AssetSet> _assets;
@@ -500,8 +510,11 @@ class MockProvider implements PackageProvider {
_pauseCompleter = null;
}
- MockProvider(assets, {Iterable<String> additionalPackages})
- : _assets = _normalizeAssets(assets, additionalPackages);
+ MockProvider(assets, {Iterable<String> staticPackages,
+ Iterable<String> additionalPackages})
+ : staticPackages = staticPackages == null ? new Set() :
+ staticPackages.toSet(),
+ _assets = _normalizeAssets(assets, additionalPackages);
static Map<String, AssetSet> _normalizeAssets(assets,
Iterable<String> additionalPackages) {
@@ -547,13 +560,8 @@ class MockProvider implements PackageProvider {
(async ? _errors : _syncErrors).add(new AssetId.parse(name));
}
- List<AssetId> listAssets(String package, {String within}) {
- if (within != null) {
- throw new UnimplementedError("Doesn't handle 'within' yet.");
- }
-
- return _assets[package].map((asset) => asset.id);
- }
+ List<AssetId> getAllAssets(String package) =>
+ _assets[package].map((asset) => asset.id);
Future<Asset> getAsset(AssetId id) {
// Eagerly load the asset so we can test an asset's value changing between
« no previous file with comments | « pkg/barback/test/static_provider_test.dart ('k') | sdk/lib/_internal/pub/lib/src/barback.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698