Chromium Code Reviews| Index: sdk/lib/_internal/pub/test/upgrade/report/describes_change_test.dart |
| diff --git a/sdk/lib/_internal/pub/test/upgrade/report/describes_change_test.dart b/sdk/lib/_internal/pub/test/upgrade/report/describes_change_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..de65d260a236ae799c48b6c2a12b5958b2670d08 |
| --- /dev/null |
| +++ b/sdk/lib/_internal/pub/test/upgrade/report/describes_change_test.dart |
| @@ -0,0 +1,62 @@ |
| +// 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 pub_tests; |
| + |
| +import '../../descriptor.dart' as d; |
| +import '../../test_pub.dart'; |
| + |
| +main() { |
| + initConfig(); |
| + integration("shows how package changed from previous lockfile", () { |
| + servePackages([ |
| + packageMap("unchanged", "1.0.0"), |
| + packageMap("version_changed", "1.0.0"), |
| + packageMap("version_changed", "2.0.0"), |
| + packageMap("source_changed", "1.0.0") |
| + ]); |
| + |
| + d.dir("source_changed", [ |
| + d.libDir("source_changed"), |
| + d.libPubspec("source_changed", "2.0.0") |
| + ]).create(); |
| + |
| + d.dir("description_changed_1", [ |
| + d.libDir("description_changed"), |
| + d.libPubspec("description_changed", "1.0.0") |
| + ]).create(); |
| + |
| + d.dir("description_changed_2", [ |
| + d.libDir("description_changed"), |
| + d.libPubspec("description_changed", "1.0.0") |
| + ]).create(); |
| + |
| + // Create the first lockfile. |
| + d.appDir({ |
| + "unchanged": "any", |
| + "version_changed": "1.0.0", |
| + "source_changed": "any", |
| + "description_changed": {"path": "../description_changed_1"} |
| + }).create(); |
| + |
| + pubGet(); |
| + |
| + // Change the pubspec. |
| + d.appDir({ |
| + "unchanged": "any", |
| + "version_changed": "any", |
| + "source_changed": {"path": "../source_changed"}, |
| + "description_changed": {"path": "../description_changed_2"} |
| + }).create(); |
| + |
| + // Upgrade everything. |
| + 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\) |
|
nweiz
2013/12/11 06:48:32
These "../" paths will probably break on Windows.
Bob Nystrom
2013/12/11 22:36:59
Done.
|
| +. unchanged 1\.0\.0 |
| +. version_changed 2\.0\.0 \(was 1\.0\.0\) |
|
nweiz
2013/12/11 06:48:32
Why are the initial characters here "."s?
Bob Nystrom
2013/12/11 22:36:59
To allow any of the leading character sigils since
|
| +""", multiLine: true)); |
|
nweiz
2013/12/11 06:48:32
This massively-escaped regexp is pretty gross and
Bob Nystrom
2013/12/11 22:36:59
I just spent a good chunk of time on that and I do
|
| + }); |
| +} |