| OLD | NEW | 
|---|
|  | (Empty) | 
| 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 |  | 
| 3 // BSD-style license that can be found in the LICENSE file. |  | 
| 4 |  | 
| 5 import 'package:pub_semver/pub_semver.dart'; |  | 
| 6 |  | 
| 7 import 'descriptor.dart' as d; |  | 
| 8 import 'test_pub.dart'; |  | 
| 9 import '../lib/src/barback.dart' as barback; |  | 
| 10 |  | 
| 11 main() { |  | 
| 12   initConfig(); |  | 
| 13 |  | 
| 14   var constraint = barback.pubConstraints["barback"]; |  | 
| 15   var current = constraint.min.toString(); |  | 
| 16   var previous = |  | 
| 17       new Version(constraint.min.major, constraint.min.minor - 1, 0).toString(); |  | 
| 18   var nextPatch = constraint.min.nextPatch.toString(); |  | 
| 19   var max = constraint.max.toString(); |  | 
| 20 |  | 
| 21   var sourceSpanVersion = barback.pubConstraints["source_span"].min.toString(); |  | 
| 22   var stackTraceVersion = barback.pubConstraints["stack_trace"].min.toString(); |  | 
| 23 |  | 
| 24   forBothPubGetAndUpgrade((command) { |  | 
| 25     integration("implicitly constrains barback to versions pub supports", () { |  | 
| 26       servePackages((builder) { |  | 
| 27         builder.serve("barback", previous); |  | 
| 28         builder.serve("barback", current); |  | 
| 29         builder.serve("barback", nextPatch); |  | 
| 30         builder.serve("barback", max); |  | 
| 31         builder.serve("source_span", sourceSpanVersion); |  | 
| 32         builder.serve("stack_trace", stackTraceVersion); |  | 
| 33       }); |  | 
| 34 |  | 
| 35       d.appDir({ |  | 
| 36         "barback": "any" |  | 
| 37       }).create(); |  | 
| 38 |  | 
| 39       pubCommand(command); |  | 
| 40 |  | 
| 41       d.packagesDir({ |  | 
| 42         "barback": nextPatch |  | 
| 43       }).validate(); |  | 
| 44     }); |  | 
| 45 |  | 
| 46     integration("discovers transitive dependency on barback", () { |  | 
| 47       servePackages((builder) { |  | 
| 48         builder.serve("barback", previous); |  | 
| 49         builder.serve("barback", current); |  | 
| 50         builder.serve("barback", nextPatch); |  | 
| 51         builder.serve("barback", max); |  | 
| 52         builder.serve("source_span", sourceSpanVersion); |  | 
| 53         builder.serve("stack_trace", stackTraceVersion); |  | 
| 54       }); |  | 
| 55 |  | 
| 56       d.dir( |  | 
| 57           "foo", |  | 
| 58           [d.libDir("foo", "foo 0.0.1"), d.libPubspec("foo", "0.0.1", deps: { |  | 
| 59           "barback": "any" |  | 
| 60         })]).create(); |  | 
| 61 |  | 
| 62       d.appDir({ |  | 
| 63         "foo": { |  | 
| 64           "path": "../foo" |  | 
| 65         } |  | 
| 66       }).create(); |  | 
| 67 |  | 
| 68       pubCommand(command); |  | 
| 69 |  | 
| 70       d.packagesDir({ |  | 
| 71         "barback": nextPatch, |  | 
| 72         "foo": "0.0.1" |  | 
| 73       }).validate(); |  | 
| 74     }); |  | 
| 75 |  | 
| 76     integration( |  | 
| 77         "pub's implicit constraint uses the same source and " |  | 
| 78             "description as a dependency override", |  | 
| 79         () { |  | 
| 80       servePackages((builder) { |  | 
| 81         builder.serve("source_span", sourceSpanVersion); |  | 
| 82         builder.serve("stack_trace", stackTraceVersion); |  | 
| 83       }); |  | 
| 84 |  | 
| 85       d.dir( |  | 
| 86           'barback', |  | 
| 87           [ |  | 
| 88               d.libDir('barback', 'barback $current'), |  | 
| 89               d.libPubspec('barback', current),]).create(); |  | 
| 90 |  | 
| 91       d.dir(appPath, [d.pubspec({ |  | 
| 92           "name": "myapp", |  | 
| 93           "dependency_overrides": { |  | 
| 94             "barback": { |  | 
| 95               "path": "../barback" |  | 
| 96             } |  | 
| 97           } |  | 
| 98         })]).create(); |  | 
| 99 |  | 
| 100       pubCommand(command); |  | 
| 101 |  | 
| 102       d.packagesDir({ |  | 
| 103         "barback": current |  | 
| 104       }).validate(); |  | 
| 105     }); |  | 
| 106   }); |  | 
| 107 |  | 
| 108   integration("unlock if the locked version doesn't meet pub's constraint", () { |  | 
| 109     servePackages((builder) { |  | 
| 110       builder.serve("barback", previous); |  | 
| 111       builder.serve("barback", current); |  | 
| 112       builder.serve("source_span", sourceSpanVersion); |  | 
| 113       builder.serve("stack_trace", stackTraceVersion); |  | 
| 114     }); |  | 
| 115 |  | 
| 116     d.appDir({ |  | 
| 117       "barback": "any" |  | 
| 118     }).create(); |  | 
| 119 |  | 
| 120     // Hand-create a lockfile to pin barback to an older version. |  | 
| 121     createLockFile("myapp", hosted: { |  | 
| 122       "barback": previous |  | 
| 123     }); |  | 
| 124 |  | 
| 125     pubGet(); |  | 
| 126 |  | 
| 127     // It should be upgraded. |  | 
| 128     d.packagesDir({ |  | 
| 129       "barback": current |  | 
| 130     }).validate(); |  | 
| 131   }); |  | 
| 132 |  | 
| 133   integration( |  | 
| 134       "includes pub in the error if a solve failed because there " |  | 
| 135           "is no version available", |  | 
| 136       () { |  | 
| 137     servePackages((builder) { |  | 
| 138       builder.serve("barback", previous); |  | 
| 139       builder.serve("source_span", sourceSpanVersion); |  | 
| 140       builder.serve("stack_trace", stackTraceVersion); |  | 
| 141     }); |  | 
| 142 |  | 
| 143     d.appDir({ |  | 
| 144       "barback": "any" |  | 
| 145     }).create(); |  | 
| 146 |  | 
| 147     pubGet(error: """ |  | 
| 148 Package barback 0.12.0 does not match >=$current <$max derived from: |  | 
| 149 - myapp 0.0.0 depends on version any |  | 
| 150 - pub itself depends on version >=$current <$max"""); |  | 
| 151   }); |  | 
| 152 |  | 
| 153   integration( |  | 
| 154       "includes pub in the error if a solve failed because there " |  | 
| 155           "is a disjoint constraint", |  | 
| 156       () { |  | 
| 157     servePackages((builder) { |  | 
| 158       builder.serve("barback", previous); |  | 
| 159       builder.serve("barback", current); |  | 
| 160       builder.serve("source_span", sourceSpanVersion); |  | 
| 161       builder.serve("stack_trace", stackTraceVersion); |  | 
| 162     }); |  | 
| 163 |  | 
| 164     d.appDir({ |  | 
| 165       "barback": previous |  | 
| 166     }).create(); |  | 
| 167 |  | 
| 168     pubGet(error: """ |  | 
| 169 Incompatible version constraints on barback: |  | 
| 170 - myapp 0.0.0 depends on version $previous |  | 
| 171 - pub itself depends on version >=$current <$max"""); |  | 
| 172   }); |  | 
| 173 } |  | 
| OLD | NEW | 
|---|