Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: sdk/lib/_internal/pub/test/unknown_source_test.dart

Issue 1165473002: Start pulling pub from its own repo. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Code review changes Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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({"foo": {"bad": "foo"}}).create();
18
19 pubCommand(command, error:
20 'Package myapp depends on foo from unknown source "bad".');
21 });
22
23 integration('fails gracefully on transitive dependency from an unknown '
24 'source', () {
25 d.dir('foo', [
26 d.libDir('foo', 'foo 0.0.1'),
27 d.libPubspec('foo', '0.0.1', deps: {"bar": {"bad": "bar"}})
28 ]).create();
29
30 d.appDir({"foo": {"path": "../foo"}}).create();
31
32 pubCommand(command, error:
33 'Package foo depends on bar from unknown source "bad".');
34 });
35
36 integration('ignores unknown source in lockfile', () {
37 d.dir('foo', [
38 d.libDir('foo'),
39 d.libPubspec('foo', '0.0.1')
40 ]).create();
41
42 // Depend on "foo" from a valid source.
43 d.dir(appPath, [
44 d.appPubspec({
45 "foo": {"path": "../foo"}
46 })
47 ]).create();
48
49 // But lock it to a bad one.
50 d.dir(appPath, [
51 d.file("pubspec.lock", JSON.encode({
52 'packages': {
53 'foo': {
54 'version': '0.0.0',
55 'source': 'bad',
56 'description': {
57 'name': 'foo'
58 }
59 }
60 }
61 }))
62 ]).create();
63
64 pubCommand(command);
65
66 // Should upgrade to the new one.
67 d.dir(packagesPath, [
68 d.dir("foo", [
69 d.file("foo.dart", 'main() => "foo";')
70 ])
71 ]).validate();
72 });
73 });
74 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698