blob: ad9873519e4f0a30224095c6638811d2626443d8 [file] [log] [blame]
// Copyright (c) 2014, 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.
import 'package:scheduled_test/scheduled_test.dart';
import 'package:scheduled_test/scheduled_stream.dart';
import '../../descriptor.dart' as d;
import '../../test_pub.dart';
main() {
initConfig();
integration('activating a path package installs dependencies', () {
servePackages((builder) {
builder.serve("bar", "1.0.0", deps: {"baz": "any"});
builder.serve("baz", "2.0.0");
});
d.dir("foo", [
d.libPubspec("foo", "0.0.0", deps: {
"bar": "any"
}),
d.dir("bin", [
d.file("foo.dart", "main() => print('ok');")
])
]).create();
var pub = startPub(args: ["global", "activate", "-spath", "../foo"]);
pub.stdout.expect(consumeThrough("Resolving dependencies..."));
pub.stdout.expect(consumeThrough("Downloading bar 1.0.0..."));
pub.stdout.expect(consumeThrough("Downloading baz 2.0.0..."));
pub.stdout.expect(consumeThrough(
startsWith("Activated foo 0.0.0 at path")));
pub.shouldExit();
// Puts the lockfile in the linked package itself.
d.dir("foo", [
d.matcherFile("pubspec.lock", allOf([
contains("bar"), contains("1.0.0"),
contains("baz"), contains("2.0.0")
]))
]).validate();
});
}