| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'package:pub/src/barback.dart' as barback; | 5 import 'package:pub/src/barback.dart' as barback; |
| 6 import 'package:pub_semver/pub_semver.dart'; | 6 import 'package:pub_semver/pub_semver.dart'; |
| 7 | 7 |
| 8 import 'descriptor.dart' as d; | 8 import 'descriptor.dart' as d; |
| 9 import 'test_pub.dart'; | 9 import 'test_pub.dart'; |
| 10 | 10 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 builder.serve("stack_trace", stackTraceVersion); | 31 builder.serve("stack_trace", stackTraceVersion); |
| 32 builder.serve("async", asyncVersion); | 32 builder.serve("async", asyncVersion); |
| 33 }); | 33 }); |
| 34 | 34 |
| 35 d.appDir({ | 35 d.appDir({ |
| 36 "barback": "any" | 36 "barback": "any" |
| 37 }).create(); | 37 }).create(); |
| 38 | 38 |
| 39 pubCommand(command); | 39 pubCommand(command); |
| 40 | 40 |
| 41 d.packagesDir({ | 41 d.appPackagesFile({ |
| 42 "barback": nextPatch | 42 "async": asyncVersion, |
| 43 "barback": nextPatch, |
| 44 "source_span": sourceSpanVersion, |
| 45 "stack_trace": stackTraceVersion |
| 43 }).validate(); | 46 }).validate(); |
| 44 }); | 47 }); |
| 45 | 48 |
| 46 integration("discovers transitive dependency on barback", () { | 49 integration("discovers transitive dependency on barback", () { |
| 47 servePackages((builder) { | 50 servePackages((builder) { |
| 48 builder.serve("barback", previous); | 51 builder.serve("barback", previous); |
| 49 builder.serve("barback", current); | 52 builder.serve("barback", current); |
| 50 builder.serve("barback", nextPatch); | 53 builder.serve("barback", nextPatch); |
| 51 builder.serve("barback", max); | 54 builder.serve("barback", max); |
| 52 builder.serve("source_span", sourceSpanVersion); | 55 builder.serve("source_span", sourceSpanVersion); |
| 53 builder.serve("stack_trace", stackTraceVersion); | 56 builder.serve("stack_trace", stackTraceVersion); |
| 54 builder.serve("async", asyncVersion); | 57 builder.serve("async", asyncVersion); |
| 55 }); | 58 }); |
| 56 | 59 |
| 57 d.dir("foo", [ | 60 d.dir("foo", [ |
| 58 d.libDir("foo", "foo 0.0.1"), | 61 d.libDir("foo", "foo 0.0.1"), |
| 59 d.libPubspec("foo", "0.0.1", deps: { | 62 d.libPubspec("foo", "0.0.1", deps: { |
| 60 "barback": "any" | 63 "barback": "any" |
| 61 }) | 64 }) |
| 62 ]).create(); | 65 ]).create(); |
| 63 | 66 |
| 64 d.appDir({ | 67 d.appDir({ |
| 65 "foo": {"path": "../foo"} | 68 "foo": {"path": "../foo"} |
| 66 }).create(); | 69 }).create(); |
| 67 | 70 |
| 68 pubCommand(command); | 71 pubCommand(command); |
| 69 | 72 |
| 70 d.packagesDir({ | 73 d.appPackagesFile({ |
| 74 "async": asyncVersion, |
| 71 "barback": nextPatch, | 75 "barback": nextPatch, |
| 72 "foo": "0.0.1" | 76 "source_span": sourceSpanVersion, |
| 77 "stack_trace": stackTraceVersion, |
| 78 "foo": "../foo" |
| 73 }).validate(); | 79 }).validate(); |
| 74 }); | 80 }); |
| 75 | 81 |
| 76 integration("pub's implicit constraint uses the same source and " | 82 integration("pub's implicit constraint uses the same source and " |
| 77 "description as a dependency override", () { | 83 "description as a dependency override", () { |
| 78 servePackages((builder) { | 84 servePackages((builder) { |
| 79 builder.serve("source_span", sourceSpanVersion); | 85 builder.serve("source_span", sourceSpanVersion); |
| 80 builder.serve("stack_trace", stackTraceVersion); | 86 builder.serve("stack_trace", stackTraceVersion); |
| 81 builder.serve("async", asyncVersion); | 87 builder.serve("async", asyncVersion); |
| 82 }); | 88 }); |
| 83 | 89 |
| 84 d.dir('barback', [ | 90 d.dir('barback', [ |
| 85 d.libDir('barback', 'barback $current'), | 91 d.libDir('barback', 'barback $current'), |
| 86 d.libPubspec('barback', current), | 92 d.libPubspec('barback', current), |
| 87 ]).create(); | 93 ]).create(); |
| 88 | 94 |
| 89 d.dir(appPath, [ | 95 d.dir(appPath, [ |
| 90 d.pubspec({ | 96 d.pubspec({ |
| 91 "name": "myapp", | 97 "name": "myapp", |
| 92 "dependency_overrides": { | 98 "dependency_overrides": { |
| 93 "barback": {"path": "../barback"} | 99 "barback": {"path": "../barback"} |
| 94 } | 100 } |
| 95 }) | 101 }) |
| 96 ]).create(); | 102 ]).create(); |
| 97 | 103 |
| 98 pubCommand(command); | 104 pubCommand(command); |
| 99 | 105 |
| 100 d.packagesDir({ | 106 d.appPackagesFile({ |
| 101 "barback": current | 107 "async": asyncVersion, |
| 108 "barback": "../barback", |
| 109 "source_span": sourceSpanVersion, |
| 110 "stack_trace": stackTraceVersion, |
| 102 }).validate(); | 111 }).validate(); |
| 103 }); | 112 }); |
| 104 }); | 113 }); |
| 105 | 114 |
| 106 integration("unlock if the locked version doesn't meet pub's constraint", () { | 115 integration("unlock if the locked version doesn't meet pub's constraint", () { |
| 107 servePackages((builder) { | 116 servePackages((builder) { |
| 108 builder.serve("barback", previous); | 117 builder.serve("barback", previous); |
| 109 builder.serve("barback", current); | 118 builder.serve("barback", current); |
| 110 builder.serve("source_span", sourceSpanVersion); | 119 builder.serve("source_span", sourceSpanVersion); |
| 111 builder.serve("stack_trace", stackTraceVersion); | 120 builder.serve("stack_trace", stackTraceVersion); |
| 112 builder.serve("async", asyncVersion); | 121 builder.serve("async", asyncVersion); |
| 113 }); | 122 }); |
| 114 | 123 |
| 115 d.appDir({"barback": "any"}).create(); | 124 d.appDir({"barback": "any"}).create(); |
| 116 | 125 |
| 117 // Hand-create a lockfile to pin barback to an older version. | 126 // Hand-create a lockfile to pin barback to an older version. |
| 118 createLockFile("myapp", hosted: { | 127 createLockFile("myapp", hosted: { |
| 119 "barback": previous | 128 "barback": previous |
| 120 }); | 129 }); |
| 121 | 130 |
| 122 pubGet(); | 131 pubGet(); |
| 123 | 132 |
| 124 // It should be upgraded. | 133 // It should be upgraded. |
| 125 d.packagesDir({ | 134 d.appPackagesFile({ |
| 126 "barback": current | 135 "async": asyncVersion, |
| 136 "barback": current, |
| 137 "source_span": sourceSpanVersion, |
| 138 "stack_trace": stackTraceVersion, |
| 127 }).validate(); | 139 }).validate(); |
| 128 }); | 140 }); |
| 129 | 141 |
| 130 integration("includes pub in the error if a solve failed because there " | 142 integration("includes pub in the error if a solve failed because there " |
| 131 "is no version available", () { | 143 "is no version available", () { |
| 132 servePackages((builder) { | 144 servePackages((builder) { |
| 133 builder.serve("barback", previous); | 145 builder.serve("barback", previous); |
| 134 builder.serve("source_span", sourceSpanVersion); | 146 builder.serve("source_span", sourceSpanVersion); |
| 135 builder.serve("stack_trace", stackTraceVersion); | 147 builder.serve("stack_trace", stackTraceVersion); |
| 136 builder.serve("async", asyncVersion); | 148 builder.serve("async", asyncVersion); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 155 }); | 167 }); |
| 156 | 168 |
| 157 d.appDir({"barback": previous}).create(); | 169 d.appDir({"barback": previous}).create(); |
| 158 | 170 |
| 159 pubGet(error: """ | 171 pubGet(error: """ |
| 160 Incompatible version constraints on barback: | 172 Incompatible version constraints on barback: |
| 161 - myapp depends on version $previous | 173 - myapp depends on version $previous |
| 162 - pub itself depends on version >=$current <$max"""); | 174 - pub itself depends on version >=$current <$max"""); |
| 163 }); | 175 }); |
| 164 } | 176 } |
| OLD | NEW |