blob: df8c0baabb2443f70f0235f3748f0b46f984c40c [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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 pub_tests;
import '../descriptor.dart' as d;
import '../test_pub.dart';
import '../serve/utils.dart';
main() {
initConfig();
withBarbackVersions("any", () {
integration("detects a transformer cycle", () {
d.dir("foo", [
d.pubspec({
"name": "foo",
"version": "1.0.0",
"transformers": ["myapp/transformer"],
"dependencies": {'myapp': {'path': '../myapp'}}
}),
d.dir("lib", [
d.file("transformer.dart", dartTransformer('foo')),
])
]).create();
d.dir(appPath, [
d.pubspec({
"name": "myapp",
"transformers": ["foo/transformer"],
"dependencies": {'foo': {'path': '../foo'}}
}),
d.dir("lib", [
d.file("transformer.dart", dartTransformer('myapp')),
])
]).create();
createLockFile('myapp', sandbox: ['foo'], pkg: ['barback']);
var process = startPubServe();
process.shouldExit(1);
process.stderr.expect(emitsLines(
"Transformer cycle detected:\n"
" foo is transformed by myapp/transformer\n"
" myapp is transformed by foo/transformer"));
});
});
}