blob: 8c9a4c843699fc2847d08e25e0436ec0c0323ecd [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.
import 'package:test/test.dart';
import '../../descriptor.dart' as d;
import '../../test_pub.dart';
main() {
test("shows how package changed from previous lockfile", () async {
await servePackages((builder) {
builder.serve("unchanged", "1.0.0");
builder.serve("version_changed", "1.0.0");
builder.serve("version_changed", "2.0.0");
builder.serve("source_changed", "1.0.0");
});
await d.dir("source_changed", [
d.libDir("source_changed"),
d.libPubspec("source_changed", "2.0.0")
]).create();
await d.dir("description_changed_1", [
d.libDir("description_changed"),
d.libPubspec("description_changed", "1.0.0")
]).create();
await d.dir("description_changed_2", [
d.libDir("description_changed"),
d.libPubspec("description_changed", "1.0.0")
]).create();
// Create the first lockfile.
await d.appDir({
"unchanged": "any",
"version_changed": "1.0.0",
"source_changed": "any",
"description_changed": {"path": "../description_changed_1"}
}).create();
await pubGet();
// Change the pubspec.
await d.appDir({
"unchanged": "any",
"version_changed": "any",
"source_changed": {"path": "../source_changed"},
"description_changed": {"path": "../description_changed_2"}
}).create();
// Upgrade everything.
await pubUpgrade(output: new RegExp(r"""
Resolving dependencies\.\.\..*
. description_changed 1\.0\.0 from path \.\.[/\\]description_changed_2 \(was 1\.0\.0 from path \.\.[/\\]description_changed_1\)
. source_changed 2\.0\.0 from path \.\.[/\\]source_changed \(was 1\.0\.0\)
. unchanged 1\.0\.0
. version_changed 2\.0\.0 \(was 1\.0\.0\)
""", multiLine: true), environment: {'PUB_ALLOW_PRERELEASE_SDK': 'false'});
});
}