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

Side by Side Diff: sdk/lib/_internal/pub/test/dependency_computer/import_dependencies_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) 2014, 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 pub_tests;
6
7 import '../descriptor.dart' as d;
8 import '../test_pub.dart';
9 import 'utils.dart';
10
11 void main() {
12 initConfig();
13
14 integration("reports a dependency if a transformed local file is imported",
15 () {
16 d.dir(appPath, [
17 d.pubspec({
18 "name": "myapp",
19 "dependencies": {"foo": {"path": "../foo"}},
20 "transformers": [
21 {"foo": {"\$include": "lib/lib.dart"}},
22 "myapp"
23 ]
24 }),
25 d.dir("lib", [
26 d.file("myapp.dart", ""),
27 d.file("lib.dart", ""),
28 d.file("transformer.dart", transformer(["lib.dart"]))
29 ])
30 ]).create();
31
32 d.dir("foo", [
33 d.pubspec({"name": "foo", "version": "1.0.0"}),
34 d.dir("lib", [d.file("foo.dart", transformer())])
35 ]).create();
36
37 expectDependencies({'myapp': ['foo'], 'foo': []});
38 });
39
40 integration("reports a dependency if a transformed foreign file is imported",
41 () {
42 d.dir(appPath, [
43 d.pubspec({
44 "name": "myapp",
45 "dependencies": {"foo": {"path": "../foo"}},
46 "transformers": ["myapp"]
47 }),
48 d.dir("lib", [
49 d.file("myapp.dart", ""),
50 d.file("transformer.dart", transformer(["package:foo/foo.dart"]))
51 ])
52 ]).create();
53
54 d.dir("foo", [
55 d.pubspec({
56 "name": "foo",
57 "version": "1.0.0",
58 "transformers": [{"foo": {"\$include": "lib/foo.dart"}}]
59 }),
60 d.dir("lib", [
61 d.file("foo.dart", ""),
62 d.file("transformer.dart", transformer())
63 ])
64 ]).create();
65
66 expectDependencies({'myapp': ['foo'], 'foo': []});
67 });
68
69 integration("reports a dependency if a transformed external package file is "
70 "imported from an export", () {
71 d.dir(appPath, [
72 d.pubspec({
73 "name": "myapp",
74 "dependencies": {"foo": {"path": "../foo"}},
75 "transformers": ["myapp"]
76 }),
77 d.dir("lib", [
78 d.file("myapp.dart", ""),
79 d.file("transformer.dart", transformer(["local.dart"])),
80 d.file("local.dart", "export 'package:foo/foo.dart';")
81 ])
82 ]).create();
83
84 d.dir("foo", [
85 d.pubspec({
86 "name": "foo",
87 "version": "1.0.0",
88 "transformers": [{"foo": {"\$include": "lib/foo.dart"}}]
89 }),
90 d.dir("lib", [
91 d.file("foo.dart", ""),
92 d.file("transformer.dart", transformer())
93 ])
94 ]).create();
95
96 expectDependencies({'myapp': ['foo'], 'foo': []});
97 });
98
99 integration("reports a dependency if a transformed foreign file is "
100 "transitively imported", () {
101 d.dir(appPath, [
102 d.pubspec({
103 "name": "myapp",
104 "dependencies": {"foo": {"path": "../foo"}},
105 "transformers": ["myapp"]
106 }),
107 d.dir("lib", [
108 d.file("myapp.dart", ""),
109 d.file("transformer.dart", transformer(["local.dart"])),
110 d.file("local.dart", "import 'package:foo/foreign.dart';")
111 ])
112 ]).create();
113
114 d.dir("foo", [
115 d.pubspec({
116 "name": "foo",
117 "version": "1.0.0",
118 "transformers": [{"foo": {"\$include": "lib/foo.dart"}}]
119 }),
120 d.dir("lib", [
121 d.file("foo.dart", ""),
122 d.file("transformer.dart", transformer()),
123 d.file("foreign.dart", "import 'foo.dart';")
124 ])
125 ]).create();
126
127 expectDependencies({'myapp': ['foo'], 'foo': []});
128 });
129
130 integration("reports a dependency if a transformed foreign file is "
131 "transitively imported across packages", () {
132 d.dir(appPath, [
133 d.pubspec({
134 "name": "myapp",
135 "dependencies": {"foo": {"path": "../foo"}},
136 "transformers": ["myapp"]
137 }),
138 d.dir("lib", [
139 d.file("myapp.dart", ""),
140 d.file("transformer.dart", transformer(["package:foo/foo.dart"])),
141 ])
142 ]).create();
143
144 d.dir("foo", [
145 d.pubspec({
146 "name": "foo",
147 "version": "1.0.0",
148 "dependencies": {"bar": {"path": "../bar"}}
149 }),
150 d.dir("lib", [d.file("foo.dart", "import 'package:bar/bar.dart';")])
151 ]).create();
152
153 d.dir("bar", [
154 d.pubspec({
155 "name": "bar",
156 "version": "1.0.0",
157 "transformers": [{"bar": {"\$include": "lib/bar.dart"}}]
158 }),
159 d.dir("lib", [
160 d.file("bar.dart", ""),
161 d.file("transformer.dart", transformer())
162 ])
163 ]).create();
164
165 expectDependencies({'myapp': ['bar'], 'bar': []});
166 });
167
168 integration("reports a dependency if an imported file is transformed by a "
169 "different package", () {
170 d.dir(appPath, [
171 d.pubspec({
172 "name": "myapp",
173 "dependencies": {"foo": {"path": "../foo"}},
174 "transformers": [
175 {"foo": {'\$include': 'lib/local.dart'}},
176 "myapp"
177 ]
178 }),
179 d.dir("lib", [
180 d.file("myapp.dart", ""),
181 d.file("transformer.dart", transformer(["local.dart"])),
182 d.file("local.dart", "")
183 ])
184 ]).create();
185
186 d.dir("foo", [
187 d.pubspec({"name": "foo", "version": "1.0.0"}),
188 d.dir("lib", [d.file("transformer.dart", transformer())])
189 ]).create();
190
191 expectDependencies({'myapp': ['foo'], 'foo': []});
192 });
193 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698