| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS d.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 d.file. | |
| 4 | |
| 5 library pub_tests; | |
| 6 | |
| 7 import 'dart:convert'; | |
| 8 | |
| 9 import 'descriptor.dart' as d; | |
| 10 import 'test_pub.dart'; | |
| 11 | |
| 12 main() { | |
| 13 initConfig(); | |
| 14 | |
| 15 forBothPubGetAndUpgrade((command) { | |
| 16 integration('fails gracefully on a dependency from an unknown source', () { | |
| 17 d.appDir({ | |
| 18 "foo": { | |
| 19 "bad": "foo" | |
| 20 } | |
| 21 }).create(); | |
| 22 | |
| 23 pubCommand( | |
| 24 command, | |
| 25 error: 'Package myapp depends on foo from unknown source "bad".'); | |
| 26 }); | |
| 27 | |
| 28 integration( | |
| 29 'fails gracefully on transitive dependency from an unknown ' 'source', | |
| 30 () { | |
| 31 d.dir( | |
| 32 'foo', | |
| 33 [d.libDir('foo', 'foo 0.0.1'), d.libPubspec('foo', '0.0.1', deps: { | |
| 34 "bar": { | |
| 35 "bad": "bar" | |
| 36 } | |
| 37 })]).create(); | |
| 38 | |
| 39 d.appDir({ | |
| 40 "foo": { | |
| 41 "path": "../foo" | |
| 42 } | |
| 43 }).create(); | |
| 44 | |
| 45 pubCommand( | |
| 46 command, | |
| 47 error: 'Package foo depends on bar from unknown source "bad".'); | |
| 48 }); | |
| 49 | |
| 50 integration('ignores unknown source in lockfile', () { | |
| 51 d.dir('foo', [d.libDir('foo'), d.libPubspec('foo', '0.0.1')]).create(); | |
| 52 | |
| 53 // Depend on "foo" from a valid source. | |
| 54 d.dir(appPath, [d.appPubspec({ | |
| 55 "foo": { | |
| 56 "path": "../foo" | |
| 57 } | |
| 58 })]).create(); | |
| 59 | |
| 60 // But lock it to a bad one. | |
| 61 d.dir(appPath, [d.file("pubspec.lock", JSON.encode({ | |
| 62 'packages': { | |
| 63 'foo': { | |
| 64 'version': '0.0.0', | |
| 65 'source': 'bad', | |
| 66 'description': { | |
| 67 'name': 'foo' | |
| 68 } | |
| 69 } | |
| 70 } | |
| 71 }))]).create(); | |
| 72 | |
| 73 pubCommand(command); | |
| 74 | |
| 75 // Should upgrade to the new one. | |
| 76 d.dir( | |
| 77 packagesPath, | |
| 78 [d.dir("foo", [d.file("foo.dart", 'main() => "foo";')])]).validate(); | |
| 79 }); | |
| 80 }); | |
| 81 } | |
| OLD | NEW |