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

Side by Side Diff: test/transform/import_inliner_test.dart

Issue 22825012: Introduce transformers for: (Closed) Base URL: git@github.com:dart-lang/web-ui.git@master
Patch Set: Created 7 years, 4 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) 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 library polymer.test.transform.import_inliner_test;
6
7 import 'package:polymer/src/transform/import_inliner.dart';
8 import 'package:unittest/compact_vm_config.dart';
9 import 'package:unittest/unittest.dart';
10
11 import 'common.dart';
12
13 void main() {
14 useCompactVMConfiguration();
15 testPhases('no changes', [[new ImportedElementInliner()]], {
16 'a|test.html': '<!DOCTYPE html><html></html>',
17 }, {
18 'a|test.html': '<!DOCTYPE html><html></html>',
19 });
20
21 testPhases('empty import', [[new ImportedElementInliner()]], {
22 'a|test.html':
23 '<!DOCTYPE html><html><head>'
24 '<link rel="import" href="">' // empty href
25 '</head></html>',
26 'a|test2.html':
27 '<!DOCTYPE html><html><head>'
28 '<link rel="import">' // no href
29 '</head></html>',
30 }, {
31 'a|test.html':
32 '<!DOCTYPE html><html><head>'
33 '</head><body></body></html>',
34 'a|test2.html':
35 '<!DOCTYPE html><html><head>'
36 '</head><body></body></html>',
37 });
38
39 testPhases('shallow, no elements', [[new ImportedElementInliner()]], {
40 'a|test.html':
41 '<!DOCTYPE html><html><head>'
42 '<link rel="import" href="test2.html">'
43 '</head></html>',
44 'a|test2.html':
45 '<!DOCTYPE html><html><head>'
46 '</head></html>',
47 }, {
48 'a|test.html':
49 '<!DOCTYPE html><html><head>'
50 '</head><body></body></html>',
51 'a|test2.html':
52 '<!DOCTYPE html><html><head>'
53 '</head></html>',
54 });
55
56 testPhases('shallow, elements, one import', [[new ImportedElementInliner()]],
57 {
58 'a|test.html':
59 '<!DOCTYPE html><html><head>'
60 '<link rel="import" href="test2.html">'
61 '</head></html>',
62 'a|test2.html':
63 '<!DOCTYPE html><html><head>'
64 '</head><body><polymer-element>2</polymer-element></html>',
65 }, {
66 'a|test.html':
67 '<!DOCTYPE html><html><head>'
68 '</head><body>'
69 '<polymer-element>2</polymer-element>'
70 '</body></html>',
71 'a|test2.html':
72 '<!DOCTYPE html><html><head>'
73 '</head><body><polymer-element>2</polymer-element></html>',
74 });
75
76 testPhases('shallow, elements, many', [[new ImportedElementInliner()]],
77 {
78 'a|test.html':
79 '<!DOCTYPE html><html><head>'
80 '<link rel="import" href="test2.html">'
81 '<link rel="import" href="test3.html">'
82 '</head></html>',
83 'a|test2.html':
84 '<!DOCTYPE html><html><head>'
85 '</head><body><polymer-element>2</polymer-element></html>',
86 'a|test3.html':
87 '<!DOCTYPE html><html><head>'
88 '</head><body><polymer-element>3</polymer-element></html>',
89 }, {
90 'a|test.html':
91 '<!DOCTYPE html><html><head>'
92 '</head><body>'
93 '<polymer-element>2</polymer-element>'
94 '<polymer-element>3</polymer-element>'
95 '</body></html>',
96 'a|test2.html':
97 '<!DOCTYPE html><html><head>'
98 '</head><body><polymer-element>2</polymer-element></html>',
99 'a|test3.html':
100 '<!DOCTYPE html><html><head>'
101 '</head><body><polymer-element>3</polymer-element></html>',
102 });
103
104 testPhases('deep, elements, one per file', [[new ImportedElementInliner()]], {
105 'a|test.html':
106 '<!DOCTYPE html><html><head>'
107 '<link rel="import" href="test2.html">'
108 '</head></html>',
109 'a|test2.html':
110 '<!DOCTYPE html><html><head>'
111 '<link rel="import" href="assets/b/test3.html">'
112 '</head><body><polymer-element>2</polymer-element></html>',
113 'b|asset/test3.html':
114 '<!DOCTYPE html><html><head>'
115 '<link rel="import" href="packages/c/test4.html">'
116 '</head><body><polymer-element>3</polymer-element></html>',
117 'c|lib/test4.html':
118 '<!DOCTYPE html><html><head>'
119 '</head><body><polymer-element>4</polymer-element></html>',
120 }, {
121 'a|test.html':
122 '<!DOCTYPE html><html><head>'
123 '</head><body>'
124 '<polymer-element>4</polymer-element>'
125 '<polymer-element>3</polymer-element>'
126 '<polymer-element>2</polymer-element></body></html>',
127 'a|test2.html':
128 '<!DOCTYPE html><html><head>'
129 '</head><body>'
130 '<polymer-element>4</polymer-element>'
131 '<polymer-element>3</polymer-element>'
132 '<polymer-element>2</polymer-element></body></html>',
133 'b|asset/test3.html':
134 '<!DOCTYPE html><html><head>'
135 '</head><body>'
136 '<polymer-element>4</polymer-element>'
137 '<polymer-element>3</polymer-element></body></html>',
138 'c|lib/test4.html':
139 '<!DOCTYPE html><html><head>'
140 '</head><body><polymer-element>4</polymer-element></html>',
141 });
142
143 testPhases('deep, elements, many imports', [[new ImportedElementInliner()]], {
144 'a|test.html':
145 '<!DOCTYPE html><html><head>'
146 '<link rel="import" href="test2a.html">'
147 '<link rel="import" href="test2b.html">'
148 '</head></html>',
149 'a|test2a.html':
150 '<!DOCTYPE html><html><head>'
151 '<link rel="import" href="test3a.html">'
152 '<link rel="import" href="test3b.html">'
153 '</head><body><polymer-element>2a</polymer-element></body></html>',
154 'a|test2b.html':
155 '<!DOCTYPE html><html><head>'
156 '<link rel="import" href="test4a.html">'
157 '<link rel="import" href="test4b.html">'
158 '</head><body><polymer-element>2b</polymer-element></body></html>',
159 'a|test3a.html':
160 '<!DOCTYPE html><html><head>'
161 '</head><body><polymer-element>3a</polymer-element></body></html>',
162 'a|test3b.html':
163 '<!DOCTYPE html><html><head>'
164 '</head><body><polymer-element>3b</polymer-element></body></html>',
165 'a|test4a.html':
166 '<!DOCTYPE html><html><head>'
167 '</head><body><polymer-element>4a</polymer-element></body></html>',
168 'a|test4b.html':
169 '<!DOCTYPE html><html><head>'
170 '</head><body><polymer-element>4b</polymer-element></body></html>',
171 }, {
172 'a|test.html':
173 '<!DOCTYPE html><html><head>'
174 '</head><body>'
175 '<polymer-element>3a</polymer-element>'
176 '<polymer-element>3b</polymer-element>'
177 '<polymer-element>2a</polymer-element>'
178 '<polymer-element>4a</polymer-element>'
179 '<polymer-element>4b</polymer-element>'
180 '<polymer-element>2b</polymer-element>'
181 '</body></html>',
182 'a|test2a.html':
183 '<!DOCTYPE html><html><head>'
184 '</head><body>'
185 '<polymer-element>3a</polymer-element>'
186 '<polymer-element>3b</polymer-element>'
187 '<polymer-element>2a</polymer-element>'
188 '</body></html>',
189 'a|test2b.html':
190 '<!DOCTYPE html><html><head>'
191 '</head><body>'
192 '<polymer-element>4a</polymer-element>'
193 '<polymer-element>4b</polymer-element>'
194 '<polymer-element>2b</polymer-element>'
195 '</body></html>',
196 'a|test3a.html':
197 '<!DOCTYPE html><html><head>'
198 '</head><body>'
199 '<polymer-element>3a</polymer-element>'
200 '</body></html>',
201 'a|test3b.html':
202 '<!DOCTYPE html><html><head>'
203 '</head><body>'
204 '<polymer-element>3b</polymer-element>'
205 '</body></html>',
206 'a|test4a.html':
207 '<!DOCTYPE html><html><head>'
208 '</head><body>'
209 '<polymer-element>4a</polymer-element>'
210 '</body></html>',
211 'a|test4b.html':
212 '<!DOCTYPE html><html><head>'
213 '</head><body>'
214 '<polymer-element>4b</polymer-element>'
215 '</body></html>',
216 });
217
218 testPhases('imports cycle, 1-step lasso', [[new ImportedElementInliner()]], {
219 'a|test.html':
220 '<!DOCTYPE html><html><head>'
221 '<link rel="import" href="test_1.html">'
222 '</head></html>',
223 'a|test_1.html':
224 '<!DOCTYPE html><html><head>'
225 '<link rel="import" href="test_2.html">'
226 '</head><body><polymer-element>1</polymer-element></html>',
227 'a|test_2.html':
228 '<!DOCTYPE html><html><head>'
229 '<link rel="import" href="test_1.html">'
230 '</head><body><polymer-element>2</polymer-element></html>',
231 }, {
232 'a|test.html':
233 '<!DOCTYPE html><html><head>'
234 '</head><body>'
235 '<polymer-element>2</polymer-element>'
236 '<polymer-element>1</polymer-element></body></html>',
237 'a|test_1.html':
238 '<!DOCTYPE html><html><head>'
239 '</head><body>'
240 '<polymer-element>2</polymer-element>'
241 '<polymer-element>1</polymer-element></body></html>',
242 'a|test_2.html':
243 '<!DOCTYPE html><html><head>'
244 '</head><body>'
245 '<polymer-element>1</polymer-element>'
246 '<polymer-element>2</polymer-element></body></html>',
247 });
248
249 testPhases('imports cycle, 2-step lasso', [[new ImportedElementInliner()]], {
250 'a|test.html':
251 '<!DOCTYPE html><html><head>'
252 '<link rel="import" href="test_1.html">'
253 '</head></html>',
254 'a|test_1.html':
255 '<!DOCTYPE html><html><head>'
256 '<link rel="import" href="test_2.html">'
257 '</head><body><polymer-element>1</polymer-element></html>',
258 'a|test_2.html':
259 '<!DOCTYPE html><html><head>'
260 '<link rel="import" href="test_3.html">'
261 '</head><body><polymer-element>2</polymer-element></html>',
262 'a|test_3.html':
263 '<!DOCTYPE html><html><head>'
264 '<link rel="import" href="test_1.html">'
265 '</head><body><polymer-element>3</polymer-element></html>',
266 }, {
267 'a|test.html':
268 '<!DOCTYPE html><html><head>'
269 '</head><body>'
270 '<polymer-element>3</polymer-element>'
271 '<polymer-element>2</polymer-element>'
272 '<polymer-element>1</polymer-element></body></html>',
273 'a|test_1.html':
274 '<!DOCTYPE html><html><head>'
275 '</head><body>'
276 '<polymer-element>3</polymer-element>'
277 '<polymer-element>2</polymer-element>'
278 '<polymer-element>1</polymer-element></body></html>',
279 'a|test_2.html':
280 '<!DOCTYPE html><html><head>'
281 '</head><body>'
282 '<polymer-element>1</polymer-element>'
283 '<polymer-element>3</polymer-element>'
284 '<polymer-element>2</polymer-element></body></html>',
285 'a|test_3.html':
286 '<!DOCTYPE html><html><head>'
287 '</head><body>'
288 '<polymer-element>2</polymer-element>'
289 '<polymer-element>1</polymer-element>'
290 '<polymer-element>3</polymer-element></body></html>',
291 });
292
293 testPhases('imports cycle, self cycle', [[new ImportedElementInliner()]], {
294 'a|test.html':
295 '<!DOCTYPE html><html><head>'
296 '<link rel="import" href="test_1.html">'
297 '</head></html>',
298 'a|test_1.html':
299 '<!DOCTYPE html><html><head>'
300 '<link rel="import" href="test_1.html">'
301 '</head><body><polymer-element>1</polymer-element></html>',
302 }, {
303 'a|test.html':
304 '<!DOCTYPE html><html><head>'
305 '</head><body>'
306 '<polymer-element>1</polymer-element></body></html>',
307 'a|test_1.html':
308 '<!DOCTYPE html><html><head>'
309 '</head><body>'
310 '<polymer-element>1</polymer-element></body></html>',
311 });
312
313 testPhases('imports DAG', [[new ImportedElementInliner()]], {
314 'a|test.html':
315 '<!DOCTYPE html><html><head>'
316 '<link rel="import" href="test_1.html">'
317 '<link rel="import" href="test_2.html">'
318 '</head></html>',
319 'a|test_1.html':
320 '<!DOCTYPE html><html><head>'
321 '<link rel="import" href="test_3.html">'
322 '</head><body><polymer-element>1</polymer-element></body></html>',
323 'a|test_2.html':
324 '<!DOCTYPE html><html><head>'
325 '<link rel="import" href="test_3.html">'
326 '</head><body><polymer-element>2</polymer-element></body></html>',
327 'a|test_3.html':
328 '<!DOCTYPE html><html><head>'
329 '</head><body><polymer-element>3</polymer-element></body></html>',
330 }, {
331 'a|test.html':
332 '<!DOCTYPE html><html><head>'
333 '</head><body>'
334 '<polymer-element>3</polymer-element>'
335 '<polymer-element>1</polymer-element>'
336 '<polymer-element>2</polymer-element></body></html>',
337 'a|test_1.html':
338 '<!DOCTYPE html><html><head>'
339 '</head><body>'
340 '<polymer-element>3</polymer-element>'
341 '<polymer-element>1</polymer-element></body></html>',
342 'a|test_2.html':
343 '<!DOCTYPE html><html><head>'
344 '</head><body>'
345 '<polymer-element>3</polymer-element>'
346 '<polymer-element>2</polymer-element></body></html>',
347 'a|test_3.html':
348 '<!DOCTYPE html><html><head>'
349 '</head><body>'
350 '<polymer-element>3</polymer-element></body></html>',
351 });
352 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698