blob: 0d77f4d2776d326ef18fc6d12e20365b8b9c4b05 [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("the character before each package describes the change", () async {
await servePackages((builder) {
builder.serve("added", "1.0.0");
builder.serve("downgraded", "1.0.0");
builder.serve("downgraded", "2.0.0");
builder.serve("overridden", "1.0.0");
builder.serve("removed", "1.0.0");
builder.serve("source_changed", "1.0.0");
builder.serve("upgraded", "1.0.0");
builder.serve("upgraded", "2.0.0");
builder.serve("unchanged", "1.0.0");
});
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();
await d.dir("source_changed", [
d.libDir("source_changed"),
d.libPubspec("source_changed", "1.0.0")
]).create();
// Create the first lockfile.
await d.dir(appPath, [
d.pubspec({
"name": "myapp",
"dependencies": {
"description_changed": {"path": "../description_changed_1"},
"downgraded": "2.0.0",
"removed": "any",
"source_changed": "any",
"unchanged": "any",
"upgraded": "1.0.0"
},
"dependency_overrides": {"overridden": "any"}
})
]).create();
await pubGet();
// Change the pubspec.
await d.dir(appPath, [
d.pubspec({
"name": "myapp",
"dependencies": {
"added": "any",
"description_changed": {"path": "../description_changed_2"},
"downgraded": "1.0.0",
"source_changed": {"path": "../source_changed"},
"unchanged": "any",
"upgraded": "2.0.0"
},
"dependency_overrides": {"overridden": "any"}
})
]).create();
// Upgrade everything.
await pubUpgrade(output: RegExp(r"""
Resolving dependencies\.\.\..*
\+ added .*
\* description_changed .*
< downgraded .*
! overridden .*
\* source_changed .*
unchanged .*
> upgraded .*
These packages are no longer being depended on:
- removed .*
""", multiLine: true), environment: {'PUB_ALLOW_PRERELEASE_SDK': 'false'});
});
}