Index: sdk/lib/_internal/pub_generated/test/get/hosted/avoid_network_requests_test.dart |
diff --git a/sdk/lib/_internal/pub_generated/test/get/hosted/avoid_network_requests_test.dart b/sdk/lib/_internal/pub_generated/test/get/hosted/avoid_network_requests_test.dart |
index 000c11c5fdac19d19ae6a1293e57e7a6a733858c..3421e8fc55774304e0cbfcf9762da61ffa3ee386 100644 |
--- a/sdk/lib/_internal/pub_generated/test/get/hosted/avoid_network_requests_test.dart |
+++ b/sdk/lib/_internal/pub_generated/test/get/hosted/avoid_network_requests_test.dart |
@@ -1,9 +1,17 @@ |
+// Copyright (c) 2012, 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 'package:scheduled_test/scheduled_test.dart'; |
+ |
import '../../descriptor.dart' as d; |
import '../../test_pub.dart'; |
+ |
main() { |
initConfig(); |
+ |
integration('only requests versions that are needed during solving', () { |
servePackages((builder) { |
builder.serve("foo", "1.0.0"); |
@@ -13,28 +21,41 @@ main() { |
builder.serve("bar", "1.1.0"); |
builder.serve("bar", "1.2.0"); |
}); |
+ |
d.appDir({ |
"foo": "any" |
}).create(); |
+ |
+ // Get once so it gets cached. |
pubGet(); |
+ |
+ // Clear the cache. We don't care about anything that was served during |
+ // the initial get. |
getRequestedPaths(); |
+ |
+ // Add "bar" to the dependencies. |
d.appDir({ |
"foo": "any", |
"bar": "any" |
}).create(); |
+ |
+ // Run the solver again. |
pubGet(); |
+ |
d.packagesDir({ |
"foo": "1.2.0", |
"bar": "1.2.0" |
}).validate(); |
+ |
+ // The get should not have done any network requests since the lock file is |
+ // up to date. |
getRequestedPaths().then((paths) { |
expect( |
paths, |
- unorderedEquals( |
- [ |
- "api/packages/bar", |
- "api/packages/bar/versions/1.2.0", |
- "packages/bar/versions/1.2.0.tar.gz"])); |
+ unorderedEquals([// Bar should be requested because it's new, but not foo. |
+ "api/packages/bar", // Should only request the most recent version. |
+ "api/packages/bar/versions/1.2.0", // Need to download it. |
+ "packages/bar/versions/1.2.0.tar.gz"])); |
}); |
}); |
} |