blob: 445e86f529b37047aad447d5b30883aa20c2b408 [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library barback.test.transformer.check_content;
import 'dart:async';
import 'package:barback/barback.dart';
import 'mock.dart';
/// A transformer that modifies assets that contains the given content.
class CheckContentTransformer extends MockTransformer {
final Pattern content;
final String addition;
CheckContentTransformer(this.content, this.addition);
Future<bool> doIsPrimary(Asset asset) =>
asset.readAsString().then((value) => value.contains(content));
Future doApply(Transform transform) {
return getPrimary(transform).then((primary) {
return primary.readAsString().then((value) {
transform.addOutput(
new Asset.fromString(primary.id, "$value$addition"));
});
});
}
}