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

Side by Side Diff: utils/tests/pub/sdk_constraint_test.dart

Issue 14232023: Switch to backtracking solver. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « utils/pub/solver/version_solver.dart ('k') | utils/tests/pub/version_solver_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012, 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 library check_sdk_test;
6
7 import 'package:scheduled_test/scheduled_test.dart';
8
9 import 'descriptor.dart' as d;
10 import "test_pub.dart";
11
12 main() {
13 initConfig();
14
15 for (var command in ["install", "update"]) {
16 var success = new RegExp(r"Dependencies installed!$");
17 if (command == "update") {
18 success = new RegExp(r"Dependencies updated!$");
19 }
20
21 integration("gives a friendly message if there are no constraints", () {
22 d.dir(appPath, [
23 d.pubspec({"name": "myapp"}),
24 ]).create();
25
26 schedulePub(args: [command], output: success);
27 });
28
29 integration("gives an error if the root package does not match", () {
30 d.dir(appPath, [
31 d.pubspec({
32 "name": "myapp",
33 "environment": {"sdk": ">2.0.0"}
34 })
35 ]).create();
36
37 schedulePub(args: [command],
38 error:
39 """
40 Some packages that were installed are not compatible with your SDK v ersion 0.1.2+3 and may not work:
41 - 'myapp' requires >2.0.0
42
43 You may be able to resolve this by upgrading to the latest Dart SDK
44 or adding a version constraint to use an older version of a package.
45 """);
46 });
47
48 integration("gives an error if some dependencies do not match", () {
49 // Using a path source, but this should be true of all sources.
50 d.dir("foo", [
51 d.libPubspec("foo", "0.0.1", sdk: ">0.1.3"),
52 d.libDir("foo")
53 ]).create();
54 d.dir("bar", [
55 d.libPubspec("bar", "0.0.1", sdk: ">0.1.1"),
56 d.libDir("bar")
57 ]).create();
58
59 d.dir(appPath, [
60 d.pubspec({
61 "name": "myapp",
62 "dependencies": {
63 "foo": {"path": "../foo"},
64 "bar": {"path": "../bar"}
65 },
66 "environment": {"sdk": ">2.0.0"}
67 })
68 ]).create();
69
70 schedulePub(args: [command],
71 error:
72 """
73 Some packages that were installed are not compatible with your SDK v ersion 0.1.2+3 and may not work:
74 - 'myapp' requires >2.0.0
75 - 'foo' requires >0.1.3
76
77 You may be able to resolve this by upgrading to the latest Dart SDK
78 or adding a version constraint to use an older version of a package.
79 """);
80 });
81
82 integration("gives an error if a transitive dependency doesn't match", () {
83 // Using a path source, but this should be true of all sources.
84 d.dir("foo", [
85 d.libPubspec("foo", "0.0.1", deps: [
86 {"path": "../bar"}
87 ]),
88 d.libDir("foo")
89 ]).create();
90 d.dir("bar", [
91 d.libPubspec("bar", "0.0.1", sdk: "<0.1.1"),
92 d.libDir("bar")
93 ]).create();
94
95 d.dir(appPath, [
96 d.pubspec({
97 "name": "myapp",
98 "dependencies": {
99 "foo": {"path": "../foo"}
100 }
101 })
102 ]).create();
103
104 schedulePub(args: [command],
105 error:
106 """
107 Some packages that were installed are not compatible with your SDK v ersion 0.1.2+3 and may not work:
108 - 'bar' requires <0.1.1
109
110 You may be able to resolve this by upgrading to the latest Dart SDK
111 or adding a version constraint to use an older version of a package.
112 """);
113 });
114
115 integration("handles a circular dependency on the root package", () {
116 // Using a path source, but this should be true of all sources.
117 d.dir("foo", [
118 d.libPubspec("foo", "0.0.1", sdk: ">3.0.0", deps: [
119 {"path": "../myapp"}
120 ]),
121 d.libDir("foo")
122 ]).create();
123
124 d.dir(appPath, [
125 d.pubspec({
126 "name": "myapp",
127 "dependencies": {
128 "foo": {"path": "../foo"}
129 },
130 "environment": {"sdk": ">2.0.0"}
131 })
132 ]).create();
133
134 schedulePub(args: [command],
135 error:
136 """
137 Some packages that were installed are not compatible with your SDK v ersion 0.1.2+3 and may not work:
138 - 'myapp' requires >2.0.0
139 - 'foo' requires >3.0.0
140
141 You may be able to resolve this by upgrading to the latest Dart SDK
142 or adding a version constraint to use an older version of a package.
143 """);
144 });
145 }
146 }
OLDNEW
« no previous file with comments | « utils/pub/solver/version_solver.dart ('k') | utils/tests/pub/version_solver_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698