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

Side by Side Diff: pkg/polymer/test/build/import_inliner_test.dart

Issue 575503002: When inlining imports from head, put them inside a hidden div (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 | « pkg/polymer/test/build/all_phases_test.dart ('k') | pkg/polymer/test/build/linter_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
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library polymer.test.build.import_inliner_test; 5 library polymer.test.build.import_inliner_test;
6 6
7 import 'dart:convert'; 7 import 'dart:convert';
8 import 'package:polymer/src/build/common.dart'; 8 import 'package:polymer/src/build/common.dart';
9 import 'package:polymer/src/build/import_inliner.dart'; 9 import 'package:polymer/src/build/import_inliner.dart';
10 import 'package:unittest/compact_vm_config.dart'; 10 import 'package:unittest/compact_vm_config.dart';
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 '<!DOCTYPE html><html><head>' 77 '<!DOCTYPE html><html><head>'
78 '<link rel="import" href="test2.html">' 78 '<link rel="import" href="test2.html">'
79 '</head></html>', 79 '</head></html>',
80 'a|web/test2.html': 80 'a|web/test2.html':
81 '<!DOCTYPE html><html><head>' 81 '<!DOCTYPE html><html><head>'
82 '</head><body><polymer-element>2</polymer-element></html>', 82 '</head><body><polymer-element>2</polymer-element></html>',
83 }, { 83 }, {
84 'a|web/test.html': 84 'a|web/test.html':
85 '<!DOCTYPE html><html><head>' 85 '<!DOCTYPE html><html><head>'
86 '</head><body>' 86 '</head><body>'
87 '<div hidden="">'
87 '<polymer-element>2</polymer-element>' 88 '<polymer-element>2</polymer-element>'
89 '</div>'
88 '</body></html>', 90 '</body></html>',
89 'a|web/test.html._data': EMPTY_DATA, 91 'a|web/test.html._data': EMPTY_DATA,
90 'a|web/test2.html': 92 'a|web/test2.html':
91 '<!DOCTYPE html><html><head>' 93 '<!DOCTYPE html><html><head>'
92 '</head><body><polymer-element>2</polymer-element></html>', 94 '</head><body><polymer-element>2</polymer-element></html>',
93 'a|web/test2.html._data': EMPTY_DATA, 95 'a|web/test2.html._data': EMPTY_DATA,
94 }); 96 });
95 97
96 testPhases('preserves order of scripts', phases, 98 testPhases('preserves order of scripts', phases,
97 { 99 {
98 'a|web/test.html': 100 'a|web/test.html':
99 '<!DOCTYPE html><html><head>' 101 '<!DOCTYPE html><html><head>'
100 '<script type="text/javascript">/*first*/</script>' 102 '<script type="text/javascript">/*first*/</script>'
101 '<script src="second.js"></script>' 103 '<script src="second.js"></script>'
102 '<link rel="import" href="test2.html">' 104 '<link rel="import" href="test2.html">'
103 '<script>/*forth*/</script>' 105 '<script>/*forth*/</script>'
104 '</head></html>', 106 '</head></html>',
105 'a|web/test2.html': 107 'a|web/test2.html':
106 '<!DOCTYPE html><html><head><script>/*third*/</script>' 108 '<!DOCTYPE html><html><head><script>/*third*/</script>'
107 '</head><body><polymer-element>2</polymer-element></html>', 109 '</head><body><polymer-element>2</polymer-element></html>',
108 'a|web/second.js': '/*second*/' 110 'a|web/second.js': '/*second*/'
109 }, { 111 }, {
110 'a|web/test.html': 112 'a|web/test.html':
111 '<!DOCTYPE html><html><head>' 113 '<!DOCTYPE html><html><head>'
112 '</head><body>' 114 '</head><body>'
115 '<div hidden="">'
113 '<script type="text/javascript">/*first*/</script>' 116 '<script type="text/javascript">/*first*/</script>'
114 '<script src="second.js"></script>' 117 '<script src="second.js"></script>'
115 '<script>/*third*/</script>' 118 '<script>/*third*/</script>'
116 '<polymer-element>2</polymer-element>' 119 '<polymer-element>2</polymer-element>'
117 '<script>/*forth*/</script>' 120 '<script>/*forth*/</script>'
121 '</div>'
118 '</body></html>', 122 '</body></html>',
119 'a|web/test.html._data': EMPTY_DATA, 123 'a|web/test.html._data': EMPTY_DATA,
120 'a|web/test2.html': 124 'a|web/test2.html':
121 '<!DOCTYPE html><html><head><script>/*third*/</script>' 125 '<!DOCTYPE html><html><head><script>/*third*/</script>'
122 '</head><body><polymer-element>2</polymer-element></html>', 126 '</head><body><polymer-element>2</polymer-element></html>',
123 'a|web/test2.html._data': EMPTY_DATA, 127 'a|web/test2.html._data': EMPTY_DATA,
124 'a|web/second.js': '/*second*/' 128 'a|web/second.js': '/*second*/'
125 }); 129 });
126 130
127 testPhases('preserves order of scripts, extract Dart scripts', phases, 131 testPhases('preserves order of scripts, extract Dart scripts', phases,
128 { 132 {
129 'a|web/test.html': 133 'a|web/test.html':
130 '<!DOCTYPE html><html><head>' 134 '<!DOCTYPE html><html><head>'
131 '<script type="text/javascript">/*first*/</script>' 135 '<script type="text/javascript">/*first*/</script>'
132 '<script src="second.js"></script>' 136 '<script src="second.js"></script>'
133 '<link rel="import" href="test2.html">' 137 '<link rel="import" href="test2.html">'
134 '<script type="application/dart">/*fifth*/</script>' 138 '<script type="application/dart">/*fifth*/</script>'
135 '</head></html>', 139 '</head></html>',
136 'a|web/test2.html': 140 'a|web/test2.html':
137 '<!DOCTYPE html><html><head><script>/*third*/</script>' 141 '<!DOCTYPE html><html><head><script>/*third*/</script>'
138 '<script type="application/dart">/*forth*/</script>' 142 '<script type="application/dart">/*forth*/</script>'
139 '</head><body><polymer-element>2</polymer-element></html>', 143 '</head><body><polymer-element>2</polymer-element></html>',
140 'a|web/second.js': '/*second*/' 144 'a|web/second.js': '/*second*/'
141 }, { 145 }, {
142 'a|web/test.html': 146 'a|web/test.html':
143 '<!DOCTYPE html><html><head>' 147 '<!DOCTYPE html><html><head>'
144 '</head><body>' 148 '</head><body>'
149 '<div hidden="">'
145 '<script type="text/javascript">/*first*/</script>' 150 '<script type="text/javascript">/*first*/</script>'
146 '<script src="second.js"></script>' 151 '<script src="second.js"></script>'
147 '<script>/*third*/</script>' 152 '<script>/*third*/</script>'
148 '<polymer-element>2</polymer-element>' 153 '<polymer-element>2</polymer-element>'
154 '</div>'
149 '</body></html>', 155 '</body></html>',
150 'a|web/test.html._data': expectedData([ 156 'a|web/test.html._data': expectedData([
151 'web/test.html.1.dart','web/test.html.0.dart']), 157 'web/test.html.1.dart','web/test.html.0.dart']),
152 'a|web/test.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/', 158 'a|web/test.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/',
153 'a|web/test.html.0.dart': 'library a.web.test_html_0;\n/*fifth*/', 159 'a|web/test.html.0.dart': 'library a.web.test_html_0;\n/*fifth*/',
154 'a|web/test2.html': 160 'a|web/test2.html':
155 '<!DOCTYPE html><html><head></head><body><script>/*third*/</script>' 161 '<!DOCTYPE html><html><head></head><body>'
156 '<polymer-element>2</polymer-element></body></html>', 162 '<div hidden="">'
163 '<script>/*third*/</script>'
164 '</div>'
165 '<polymer-element>2</polymer-element>'
166 '</body></html>',
157 'a|web/test2.html._data': expectedData(['web/test2.html.0.dart']), 167 'a|web/test2.html._data': expectedData(['web/test2.html.0.dart']),
158 'a|web/test2.html.0.dart': 'library a.web.test2_html_0;\n/*forth*/', 168 'a|web/test2.html.0.dart': 'library a.web.test2_html_0;\n/*forth*/',
159 'a|web/second.js': '/*second*/' 169 'a|web/second.js': '/*second*/'
160 }); 170 });
161 171
162 final cspPhases = [[new ImportInliner( 172 final cspPhases = [[new ImportInliner(
163 new TransformOptions(contentSecurityPolicy: true))]]; 173 new TransformOptions(contentSecurityPolicy: true))]];
164 testPhases('extract Js scripts in CSP mode', cspPhases, 174 testPhases('extract Js scripts in CSP mode', cspPhases,
165 { 175 {
166 'a|web/test.html': 176 'a|web/test.html':
167 '<!DOCTYPE html><html><head>' 177 '<!DOCTYPE html><html><head>'
168 '<script type="text/javascript">/*first*/</script>' 178 '<script type="text/javascript">/*first*/</script>'
169 '<script src="second.js"></script>' 179 '<script src="second.js"></script>'
170 '<link rel="import" href="test2.html">' 180 '<link rel="import" href="test2.html">'
171 '<script type="application/dart">/*fifth*/</script>' 181 '<script type="application/dart">/*fifth*/</script>'
172 '</head></html>', 182 '</head></html>',
173 'a|web/test2.html': 183 'a|web/test2.html':
174 '<!DOCTYPE html><html><head><script>/*third*/</script>' 184 '<!DOCTYPE html><html><head><script>/*third*/</script>'
175 '<script type="application/dart">/*forth*/</script>' 185 '<script type="application/dart">/*forth*/</script>'
176 '</head><body><polymer-element>2</polymer-element></html>', 186 '</head><body><polymer-element>2</polymer-element></html>',
177 'a|web/second.js': '/*second*/' 187 'a|web/second.js': '/*second*/'
178 }, { 188 }, {
179 'a|web/test.html': 189 'a|web/test.html':
180 '<!DOCTYPE html><html><head>' 190 '<!DOCTYPE html><html><head>'
181 '</head><body>' 191 '</head><body>'
192 '<div hidden="">'
182 '<script type="text/javascript" src="test.html.0.js"></script>' 193 '<script type="text/javascript" src="test.html.0.js"></script>'
183 '<script src="second.js"></script>' 194 '<script src="second.js"></script>'
184 '<script src="test.html.2.js"></script>' 195 '<script src="test.html.2.js"></script>'
185 '<polymer-element>2</polymer-element>' 196 '<polymer-element>2</polymer-element>'
197 '</div>'
186 '</body></html>', 198 '</body></html>',
187 'a|web/test.html._data': expectedData([ 199 'a|web/test.html._data': expectedData([
188 'web/test.html.3.dart','web/test.html.1.dart']), 200 'web/test.html.3.dart','web/test.html.1.dart']),
189 'a|web/test.html.3.dart': 'library a.web.test2_html_0;\n/*forth*/', 201 'a|web/test.html.3.dart': 'library a.web.test2_html_0;\n/*forth*/',
190 'a|web/test.html.1.dart': 'library a.web.test_html_0;\n/*fifth*/', 202 'a|web/test.html.1.dart': 'library a.web.test_html_0;\n/*fifth*/',
191 'a|web/test.html.0.js': '/*first*/', 203 'a|web/test.html.0.js': '/*first*/',
192 'a|web/test.html.2.js': '/*third*/', 204 'a|web/test.html.2.js': '/*third*/',
193 'a|web/test2.html': 205 'a|web/test2.html':
194 '<!DOCTYPE html><html><head></head><body>' 206 '<!DOCTYPE html><html><head></head><body>'
207 '<div hidden="">'
195 '<script src="test2.html.0.js"></script>' 208 '<script src="test2.html.0.js"></script>'
209 '</div>'
196 '<polymer-element>2</polymer-element></body></html>', 210 '<polymer-element>2</polymer-element></body></html>',
197 'a|web/test2.html._data': expectedData(['web/test2.html.1.dart']), 211 'a|web/test2.html._data': expectedData(['web/test2.html.1.dart']),
198 'a|web/test2.html.0.js': '/*third*/', 212 'a|web/test2.html.0.js': '/*third*/',
199 'a|web/test2.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/', 213 'a|web/test2.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/',
200 'a|web/second.js': '/*second*/' 214 'a|web/second.js': '/*second*/'
201 }); 215 });
202 216
203 testPhases('Cleans library names generated from file paths.', phases, 217 testPhases('Cleans library names generated from file paths.', phases,
204 { 218 {
205 'a|web/01_test.html': 219 'a|web/01_test.html':
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 'a|web/test2.html': 278 'a|web/test2.html':
265 '<!DOCTYPE html><html><head>' 279 '<!DOCTYPE html><html><head>'
266 '</head><body><polymer-element>2</polymer-element></html>', 280 '</head><body><polymer-element>2</polymer-element></html>',
267 'a|web/test3.html': 281 'a|web/test3.html':
268 '<!DOCTYPE html><html><head>' 282 '<!DOCTYPE html><html><head>'
269 '</head><body><polymer-element>3</polymer-element></html>', 283 '</head><body><polymer-element>3</polymer-element></html>',
270 }, { 284 }, {
271 'a|web/test.html': 285 'a|web/test.html':
272 '<!DOCTYPE html><html><head>' 286 '<!DOCTYPE html><html><head>'
273 '</head><body>' 287 '</head><body>'
288 '<div hidden="">'
274 '<polymer-element>2</polymer-element>' 289 '<polymer-element>2</polymer-element>'
275 '<polymer-element>3</polymer-element>' 290 '<polymer-element>3</polymer-element>'
291 '</div>'
276 '</body></html>', 292 '</body></html>',
277 'a|web/test2.html': 293 'a|web/test2.html':
278 '<!DOCTYPE html><html><head>' 294 '<!DOCTYPE html><html><head>'
279 '</head><body><polymer-element>2</polymer-element></html>', 295 '</head><body><polymer-element>2</polymer-element></html>',
280 'a|web/test3.html': 296 'a|web/test3.html':
281 '<!DOCTYPE html><html><head>' 297 '<!DOCTYPE html><html><head>'
282 '</head><body><polymer-element>3</polymer-element></html>', 298 '</head><body><polymer-element>3</polymer-element></html>',
283 }); 299 });
284 300
285 testPhases('deep, elements, one per file', phases, { 301 testPhases('deep, elements, one per file', phases, {
286 'a|web/test.html': 302 'a|web/test.html':
287 '<!DOCTYPE html><html><head>' 303 '<!DOCTYPE html><html><head>'
288 '<link rel="import" href="test2.html">' 304 '<link rel="import" href="test2.html">'
289 '</head></html>', 305 '</head></html>',
290 'a|web/test2.html': 306 'a|web/test2.html':
291 '<!DOCTYPE html><html><head>' 307 '<!DOCTYPE html><html><head>'
292 '<link rel="import" href="assets/b/test3.html">' 308 '<link rel="import" href="assets/b/test3.html">'
293 '</head><body><polymer-element>2</polymer-element></html>', 309 '</head><body><polymer-element>2</polymer-element></html>',
294 'b|asset/test3.html': 310 'b|asset/test3.html':
295 '<!DOCTYPE html><html><head>' 311 '<!DOCTYPE html><html><head>'
296 '<link rel="import" href="../../packages/c/test4.html">' 312 '<link rel="import" href="../../packages/c/test4.html">'
297 '</head><body><polymer-element>3</polymer-element></html>', 313 '</head><body><polymer-element>3</polymer-element></html>',
298 'c|lib/test4.html': 314 'c|lib/test4.html':
299 '<!DOCTYPE html><html><head>' 315 '<!DOCTYPE html><html><head>'
300 '</head><body><polymer-element>4</polymer-element></html>', 316 '</head><body><polymer-element>4</polymer-element></html>',
301 }, { 317 }, {
302 'a|web/test.html': 318 'a|web/test.html':
303 '<!DOCTYPE html><html><head>' 319 '<!DOCTYPE html><html><head>'
304 '</head><body>' 320 '</head><body>'
321 '<div hidden="">'
305 '<polymer-element>4</polymer-element>' 322 '<polymer-element>4</polymer-element>'
306 '<polymer-element>3</polymer-element>' 323 '<polymer-element>3</polymer-element>'
307 '<polymer-element>2</polymer-element></body></html>', 324 '<polymer-element>2</polymer-element>'
325 '</div>'
326 '</body></html>',
308 'a|web/test2.html': 327 'a|web/test2.html':
309 '<!DOCTYPE html><html><head>' 328 '<!DOCTYPE html><html><head>'
310 '</head><body>' 329 '</head><body>'
330 '<div hidden="">'
311 '<polymer-element>4</polymer-element>' 331 '<polymer-element>4</polymer-element>'
312 '<polymer-element>3</polymer-element>' 332 '<polymer-element>3</polymer-element>'
313 '<polymer-element>2</polymer-element></body></html>', 333 '</div>'
334 '<polymer-element>2</polymer-element>'
335 '</body></html>',
314 'b|asset/test3.html': 336 'b|asset/test3.html':
315 '<!DOCTYPE html><html><head>' 337 '<!DOCTYPE html><html><head>'
316 '<link rel="import" href="../../packages/c/test4.html">' 338 '<link rel="import" href="../../packages/c/test4.html">'
317 '</head><body><polymer-element>3</polymer-element></html>', 339 '</head><body><polymer-element>3</polymer-element></html>',
318 'c|lib/test4.html': 340 'c|lib/test4.html':
319 '<!DOCTYPE html><html><head>' 341 '<!DOCTYPE html><html><head>'
320 '</head><body><polymer-element>4</polymer-element></html>', 342 '</head><body><polymer-element>4</polymer-element></html>',
321 }); 343 });
322 344
323 testPhases('deep, elements, many imports', phases, { 345 testPhases('deep, elements, many imports', phases, {
(...skipping 21 matching lines...) Expand all
345 'a|web/test4a.html': 367 'a|web/test4a.html':
346 '<!DOCTYPE html><html><head>' 368 '<!DOCTYPE html><html><head>'
347 '</head><body><polymer-element>4a</polymer-element></body></html>', 369 '</head><body><polymer-element>4a</polymer-element></body></html>',
348 'a|web/test4b.html': 370 'a|web/test4b.html':
349 '<!DOCTYPE html><html><head>' 371 '<!DOCTYPE html><html><head>'
350 '</head><body><polymer-element>4b</polymer-element></body></html>', 372 '</head><body><polymer-element>4b</polymer-element></body></html>',
351 }, { 373 }, {
352 'a|web/test.html': 374 'a|web/test.html':
353 '<!DOCTYPE html><html><head>' 375 '<!DOCTYPE html><html><head>'
354 '</head><body>' 376 '</head><body>'
377 '<div hidden="">'
355 '<polymer-element>3a</polymer-element>' 378 '<polymer-element>3a</polymer-element>'
356 '<polymer-element>3b</polymer-element>' 379 '<polymer-element>3b</polymer-element>'
357 '<polymer-element>2a</polymer-element>' 380 '<polymer-element>2a</polymer-element>'
358 '<polymer-element>4a</polymer-element>' 381 '<polymer-element>4a</polymer-element>'
359 '<polymer-element>4b</polymer-element>' 382 '<polymer-element>4b</polymer-element>'
360 '<polymer-element>2b</polymer-element>' 383 '<polymer-element>2b</polymer-element>'
384 '</div>'
361 '</body></html>', 385 '</body></html>',
362 'a|web/test2a.html': 386 'a|web/test2a.html':
363 '<!DOCTYPE html><html><head>' 387 '<!DOCTYPE html><html><head>'
364 '</head><body>' 388 '</head><body>'
389 '<div hidden="">'
365 '<polymer-element>3a</polymer-element>' 390 '<polymer-element>3a</polymer-element>'
366 '<polymer-element>3b</polymer-element>' 391 '<polymer-element>3b</polymer-element>'
392 '</div>'
367 '<polymer-element>2a</polymer-element>' 393 '<polymer-element>2a</polymer-element>'
368 '</body></html>', 394 '</body></html>',
369 'a|web/test2b.html': 395 'a|web/test2b.html':
370 '<!DOCTYPE html><html><head>' 396 '<!DOCTYPE html><html><head>'
371 '</head><body>' 397 '</head><body>'
398 '<div hidden="">'
372 '<polymer-element>4a</polymer-element>' 399 '<polymer-element>4a</polymer-element>'
373 '<polymer-element>4b</polymer-element>' 400 '<polymer-element>4b</polymer-element>'
401 '</div>'
374 '<polymer-element>2b</polymer-element>' 402 '<polymer-element>2b</polymer-element>'
375 '</body></html>', 403 '</body></html>',
376 'a|web/test3a.html': 404 'a|web/test3a.html':
377 '<!DOCTYPE html><html><head>' 405 '<!DOCTYPE html><html><head>'
378 '</head><body>' 406 '</head><body>'
379 '<polymer-element>3a</polymer-element>' 407 '<polymer-element>3a</polymer-element>'
380 '</body></html>', 408 '</body></html>',
381 'a|web/test3b.html': 409 'a|web/test3b.html':
382 '<!DOCTYPE html><html><head>' 410 '<!DOCTYPE html><html><head>'
383 '</head><body>' 411 '</head><body>'
(...skipping 21 matching lines...) Expand all
405 '<link rel="import" href="test_2.html">' 433 '<link rel="import" href="test_2.html">'
406 '</head><body><polymer-element>1</polymer-element></html>', 434 '</head><body><polymer-element>1</polymer-element></html>',
407 'a|web/test_2.html': 435 'a|web/test_2.html':
408 '<!DOCTYPE html><html><head>' 436 '<!DOCTYPE html><html><head>'
409 '<link rel="import" href="test_1.html">' 437 '<link rel="import" href="test_1.html">'
410 '</head><body><polymer-element>2</polymer-element></html>', 438 '</head><body><polymer-element>2</polymer-element></html>',
411 }, { 439 }, {
412 'a|web/test.html': 440 'a|web/test.html':
413 '<!DOCTYPE html><html><head>' 441 '<!DOCTYPE html><html><head>'
414 '</head><body>' 442 '</head><body>'
443 '<div hidden="">'
415 '<polymer-element>2</polymer-element>' 444 '<polymer-element>2</polymer-element>'
416 '<polymer-element>1</polymer-element></body></html>', 445 '<polymer-element>1</polymer-element>'
446 '</div>'
447 '</body></html>',
417 'a|web/test_1.html': 448 'a|web/test_1.html':
418 '<!DOCTYPE html><html><head>' 449 '<!DOCTYPE html><html><head>'
419 '</head><body>' 450 '</head><body>'
451 '<div hidden="">'
420 '<polymer-element>2</polymer-element>' 452 '<polymer-element>2</polymer-element>'
453 '</div>'
421 '<polymer-element>1</polymer-element></body></html>', 454 '<polymer-element>1</polymer-element></body></html>',
422 'a|web/test_2.html': 455 'a|web/test_2.html':
423 '<!DOCTYPE html><html><head>' 456 '<!DOCTYPE html><html><head>'
424 '</head><body>' 457 '</head><body>'
458 '<div hidden="">'
425 '<polymer-element>1</polymer-element>' 459 '<polymer-element>1</polymer-element>'
460 '</div>'
426 '<polymer-element>2</polymer-element></body></html>', 461 '<polymer-element>2</polymer-element></body></html>',
427 }); 462 });
428 463
429 testPhases('imports cycle, 1-step lasso, scripts too', phases, { 464 testPhases('imports cycle, 1-step lasso, scripts too', phases, {
430 'a|web/test.html': 465 'a|web/test.html':
431 '<!DOCTYPE html><html><head>' 466 '<!DOCTYPE html><html><head>'
432 '<link rel="import" href="test_1.html">' 467 '<link rel="import" href="test_1.html">'
433 '</head></html>', 468 '</head></html>',
434 'a|web/test_1.html': 469 'a|web/test_1.html':
435 '<!DOCTYPE html><html><head>' 470 '<!DOCTYPE html><html><head>'
436 '<link rel="import" href="test_2.html">' 471 '<link rel="import" href="test_2.html">'
437 '</head><body><polymer-element>1</polymer-element>' 472 '</head><body><polymer-element>1</polymer-element>'
438 '<script src="s1"></script></html>', 473 '<script src="s1"></script></html>',
439 'a|web/test_2.html': 474 'a|web/test_2.html':
440 '<!DOCTYPE html><html><head>' 475 '<!DOCTYPE html><html><head>'
441 '<link rel="import" href="test_1.html">' 476 '<link rel="import" href="test_1.html">'
442 '</head><body><polymer-element>2</polymer-element>' 477 '</head><body><polymer-element>2</polymer-element>'
443 '<script src="s2"></script></html>', 478 '<script src="s2"></script></html>',
444 }, { 479 }, {
445 'a|web/test.html': 480 'a|web/test.html':
446 '<!DOCTYPE html><html><head>' 481 '<!DOCTYPE html><html><head>'
447 '</head><body>' 482 '</head><body>'
483 '<div hidden="">'
448 '<polymer-element>2</polymer-element>' 484 '<polymer-element>2</polymer-element>'
449 '<script src="s2"></script>' 485 '<script src="s2"></script>'
450 '<polymer-element>1</polymer-element>' 486 '<polymer-element>1</polymer-element>'
451 '<script src="s1"></script></body></html>', 487 '<script src="s1"></script>'
488 '</div>'
489 '</body></html>',
452 'a|web/test.html._data': EMPTY_DATA, 490 'a|web/test.html._data': EMPTY_DATA,
453 'a|web/test_1.html': 491 'a|web/test_1.html':
454 '<!DOCTYPE html><html><head>' 492 '<!DOCTYPE html><html><head>'
455 '</head><body>' 493 '</head><body>'
494 '<div hidden="">'
456 '<polymer-element>2</polymer-element>' 495 '<polymer-element>2</polymer-element>'
457 '<script src="s2"></script>' 496 '<script src="s2"></script>'
497 '</div>'
458 '<polymer-element>1</polymer-element>' 498 '<polymer-element>1</polymer-element>'
459 '<script src="s1"></script></body></html>', 499 '<script src="s1"></script></body></html>',
460 'a|web/test_1.html._data': EMPTY_DATA, 500 'a|web/test_1.html._data': EMPTY_DATA,
461 'a|web/test_2.html': 501 'a|web/test_2.html':
462 '<!DOCTYPE html><html><head>' 502 '<!DOCTYPE html><html><head>'
463 '</head><body>' 503 '</head><body>'
504 '<div hidden="">'
464 '<polymer-element>1</polymer-element>' 505 '<polymer-element>1</polymer-element>'
465 '<script src="s1"></script>' 506 '<script src="s1"></script>'
507 '</div>'
466 '<polymer-element>2</polymer-element>' 508 '<polymer-element>2</polymer-element>'
467 '<script src="s2"></script></body></html>', 509 '<script src="s2"></script></body></html>',
468 'a|web/test_2.html._data': EMPTY_DATA, 510 'a|web/test_2.html._data': EMPTY_DATA,
469 }); 511 });
470 512
471 testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, { 513 testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, {
472 'a|web/test.html': 514 'a|web/test.html':
473 '<!DOCTYPE html><html><head>' 515 '<!DOCTYPE html><html><head>'
474 '<link rel="import" href="test_1.html">' 516 '<link rel="import" href="test_1.html">'
475 '</head></html>', 517 '</head></html>',
476 'a|web/test_1.html': 518 'a|web/test_1.html':
477 '<!DOCTYPE html><html><head>' 519 '<!DOCTYPE html><html><head>'
478 '<link rel="import" href="test_2.html">' 520 '<link rel="import" href="test_2.html">'
479 '</head><body><polymer-element>1</polymer-element>' 521 '</head><body><polymer-element>1</polymer-element>'
480 '<script type="application/dart" src="s1.dart">' 522 '<script type="application/dart" src="s1.dart">'
481 '</script></html>', 523 '</script></html>',
482 'a|web/test_2.html': 524 'a|web/test_2.html':
483 '<!DOCTYPE html><html><head>' 525 '<!DOCTYPE html><html><head>'
484 '<link rel="import" href="test_1.html">' 526 '<link rel="import" href="test_1.html">'
485 '</head><body><polymer-element>2' 527 '</head><body><polymer-element>2'
486 '<script type="application/dart" src="s2.dart"></script>' 528 '<script type="application/dart" src="s2.dart"></script>'
487 '</polymer-element>' 529 '</polymer-element>'
488 '</html>', 530 '</html>',
489 'a|web/s1.dart': '', 531 'a|web/s1.dart': '',
490 'a|web/s2.dart': '', 532 'a|web/s2.dart': '',
491 }, { 533 }, {
492 'a|web/test.html': 534 'a|web/test.html':
493 '<!DOCTYPE html><html><head>' 535 '<!DOCTYPE html><html><head>'
494 '</head><body>' 536 '</head><body>'
537 '<div hidden="">'
495 '<polymer-element>2</polymer-element>' 538 '<polymer-element>2</polymer-element>'
496 '<polymer-element>1</polymer-element>' 539 '<polymer-element>1</polymer-element>'
540 '</div>'
497 '</body></html>', 541 '</body></html>',
498 'a|web/test.html._data': expectedData(['web/s2.dart', 'web/s1.dart']), 542 'a|web/test.html._data': expectedData(['web/s2.dart', 'web/s1.dart']),
499 'a|web/test_1.html': 543 'a|web/test_1.html':
500 '<!DOCTYPE html><html><head>' 544 '<!DOCTYPE html><html><head>'
501 '</head><body>' 545 '</head><body>'
546 '<div hidden="">'
502 '<polymer-element>2</polymer-element>' 547 '<polymer-element>2</polymer-element>'
548 '</div>'
503 '<polymer-element>1</polymer-element>' 549 '<polymer-element>1</polymer-element>'
504 '</body></html>', 550 '</body></html>',
505 'a|web/test_1.html._data': expectedData(['web/s2.dart', 'web/s1.dart']), 551 'a|web/test_1.html._data': expectedData(['web/s2.dart', 'web/s1.dart']),
506 'a|web/test_2.html': 552 'a|web/test_2.html':
507 '<!DOCTYPE html><html><head>' 553 '<!DOCTYPE html><html><head>'
508 '</head><body>' 554 '</head><body>'
555 '<div hidden="">'
509 '<polymer-element>1</polymer-element>' 556 '<polymer-element>1</polymer-element>'
557 '</div>'
510 '<polymer-element>2' 558 '<polymer-element>2'
511 '</polymer-element>' 559 '</polymer-element>'
512 '</body></html>', 560 '</body></html>',
513 'a|web/test_2.html._data': expectedData(['web/s1.dart', 'web/s2.dart']), 561 'a|web/test_2.html._data': expectedData(['web/s1.dart', 'web/s2.dart']),
514 }); 562 });
515 563
516 testPhases('imports with Dart script after JS script', phases, { 564 testPhases('imports with Dart script after JS script', phases, {
517 'a|web/test.html': 565 'a|web/test.html':
518 '<!DOCTYPE html><html><head>' 566 '<!DOCTYPE html><html><head>'
519 '<link rel="import" href="test_1.html">' 567 '<link rel="import" href="test_1.html">'
520 '</head></html>', 568 '</head></html>',
521 'a|web/test_1.html': 569 'a|web/test_1.html':
522 '<!DOCTYPE html><html><head>' 570 '<!DOCTYPE html><html><head>'
523 '<link rel="import" href="test_1.html">' 571 '<link rel="import" href="test_1.html">'
524 '</head><body>' 572 '</head><body>'
525 '<foo>42</foo><bar-baz></bar-baz>' 573 '<foo>42</foo><bar-baz></bar-baz>'
526 '<polymer-element>1' 574 '<polymer-element>1'
527 '<script src="s1.js"></script>' 575 '<script src="s1.js"></script>'
528 '<script type="application/dart" src="s1.dart"></script>' 576 '<script type="application/dart" src="s1.dart"></script>'
529 '</polymer-element>' 577 '</polymer-element>'
530 'FOO</body></html>', 578 'FOO</body></html>',
531 'a|web/s1.dart': '', 579 'a|web/s1.dart': '',
532 }, { 580 }, {
533 'a|web/test.html': 581 'a|web/test.html':
534 '<!DOCTYPE html><html><head>' 582 '<!DOCTYPE html><html><head>'
535 '</head><body>' 583 '</head><body>'
584 '<div hidden="">'
536 '<foo>42</foo><bar-baz></bar-baz>' 585 '<foo>42</foo><bar-baz></bar-baz>'
537 '<polymer-element>1' 586 '<polymer-element>1'
538 '<script src="s1.js"></script>' 587 '<script src="s1.js"></script>'
539 '</polymer-element>' 588 '</polymer-element>'
540 'FOO</body></html>', 589 'FOO'
590 '</div>'
591 '</body></html>',
541 'a|web/test.html._data': expectedData(['web/s1.dart']), 592 'a|web/test.html._data': expectedData(['web/s1.dart']),
542 'a|web/test_1.html': 593 'a|web/test_1.html':
543 '<!DOCTYPE html><html><head>' 594 '<!DOCTYPE html><html><head>'
544 '</head><body>' 595 '</head><body>'
545 '<foo>42</foo><bar-baz></bar-baz>' 596 '<foo>42</foo><bar-baz></bar-baz>'
546 '<polymer-element>1' 597 '<polymer-element>1'
547 '<script src="s1.js"></script>' 598 '<script src="s1.js"></script>'
548 '</polymer-element>' 599 '</polymer-element>'
549 'FOO</body></html>', 600 'FOO</body></html>',
550 'a|web/test_1.html._data': expectedData(['web/s1.dart']), 601 'a|web/test_1.html._data': expectedData(['web/s1.dart']),
(...skipping 13 matching lines...) Expand all
564 '<link rel="import" href="test_3.html">' 615 '<link rel="import" href="test_3.html">'
565 '</head><body><polymer-element>2</polymer-element></html>', 616 '</head><body><polymer-element>2</polymer-element></html>',
566 'a|web/test_3.html': 617 'a|web/test_3.html':
567 '<!DOCTYPE html><html><head>' 618 '<!DOCTYPE html><html><head>'
568 '<link rel="import" href="test_1.html">' 619 '<link rel="import" href="test_1.html">'
569 '</head><body><polymer-element>3</polymer-element></html>', 620 '</head><body><polymer-element>3</polymer-element></html>',
570 }, { 621 }, {
571 'a|web/test.html': 622 'a|web/test.html':
572 '<!DOCTYPE html><html><head>' 623 '<!DOCTYPE html><html><head>'
573 '</head><body>' 624 '</head><body>'
625 '<div hidden="">'
574 '<polymer-element>3</polymer-element>' 626 '<polymer-element>3</polymer-element>'
575 '<polymer-element>2</polymer-element>' 627 '<polymer-element>2</polymer-element>'
576 '<polymer-element>1</polymer-element></body></html>', 628 '<polymer-element>1</polymer-element>'
629 '</div>'
630 '</body></html>',
577 'a|web/test_1.html': 631 'a|web/test_1.html':
578 '<!DOCTYPE html><html><head>' 632 '<!DOCTYPE html><html><head>'
579 '</head><body>' 633 '</head><body>'
634 '<div hidden="">'
580 '<polymer-element>3</polymer-element>' 635 '<polymer-element>3</polymer-element>'
581 '<polymer-element>2</polymer-element>' 636 '<polymer-element>2</polymer-element>'
637 '</div>'
582 '<polymer-element>1</polymer-element></body></html>', 638 '<polymer-element>1</polymer-element></body></html>',
583 'a|web/test_2.html': 639 'a|web/test_2.html':
584 '<!DOCTYPE html><html><head>' 640 '<!DOCTYPE html><html><head>'
585 '</head><body>' 641 '</head><body>'
642 '<div hidden="">'
586 '<polymer-element>1</polymer-element>' 643 '<polymer-element>1</polymer-element>'
587 '<polymer-element>3</polymer-element>' 644 '<polymer-element>3</polymer-element>'
645 '</div>'
588 '<polymer-element>2</polymer-element></body></html>', 646 '<polymer-element>2</polymer-element></body></html>',
589 'a|web/test_3.html': 647 'a|web/test_3.html':
590 '<!DOCTYPE html><html><head>' 648 '<!DOCTYPE html><html><head>'
591 '</head><body>' 649 '</head><body>'
650 '<div hidden="">'
592 '<polymer-element>2</polymer-element>' 651 '<polymer-element>2</polymer-element>'
593 '<polymer-element>1</polymer-element>' 652 '<polymer-element>1</polymer-element>'
653 '</div>'
594 '<polymer-element>3</polymer-element></body></html>', 654 '<polymer-element>3</polymer-element></body></html>',
595 }); 655 });
596 656
597 testPhases('imports cycle, self cycle', phases, { 657 testPhases('imports cycle, self cycle', phases, {
598 'a|web/test.html': 658 'a|web/test.html':
599 '<!DOCTYPE html><html><head>' 659 '<!DOCTYPE html><html><head>'
600 '<link rel="import" href="test_1.html">' 660 '<link rel="import" href="test_1.html">'
601 '</head></html>', 661 '</head></html>',
602 'a|web/test_1.html': 662 'a|web/test_1.html':
603 '<!DOCTYPE html><html><head>' 663 '<!DOCTYPE html><html><head>'
604 '<link rel="import" href="test_1.html">' 664 '<link rel="import" href="test_1.html">'
605 '</head><body><polymer-element>1</polymer-element></html>', 665 '</head><body><polymer-element>1</polymer-element></html>',
606 }, { 666 }, {
607 'a|web/test.html': 667 'a|web/test.html':
608 '<!DOCTYPE html><html><head>' 668 '<!DOCTYPE html><html><head>'
609 '</head><body>' 669 '</head><body>'
610 '<polymer-element>1</polymer-element></body></html>', 670 '<div hidden="">'
671 '<polymer-element>1</polymer-element>'
672 '</div>'
673 '</body></html>',
611 'a|web/test_1.html': 674 'a|web/test_1.html':
612 '<!DOCTYPE html><html><head>' 675 '<!DOCTYPE html><html><head>'
613 '</head><body>' 676 '</head><body>'
614 '<polymer-element>1</polymer-element></body></html>', 677 '<polymer-element>1</polymer-element></body></html>',
615 }); 678 });
616 679
617 testPhases('imports DAG', phases, { 680 testPhases('imports DAG', phases, {
618 'a|web/test.html': 681 'a|web/test.html':
619 '<!DOCTYPE html><html><head>' 682 '<!DOCTYPE html><html><head>'
620 '<link rel="import" href="test_1.html">' 683 '<link rel="import" href="test_1.html">'
621 '<link rel="import" href="test_2.html">' 684 '<link rel="import" href="test_2.html">'
622 '</head></html>', 685 '</head></html>',
623 'a|web/test_1.html': 686 'a|web/test_1.html':
624 '<!DOCTYPE html><html><head>' 687 '<!DOCTYPE html><html><head>'
625 '<link rel="import" href="test_3.html">' 688 '<link rel="import" href="test_3.html">'
626 '</head><body><polymer-element>1</polymer-element></body></html>', 689 '</head><body><polymer-element>1</polymer-element></body></html>',
627 'a|web/test_2.html': 690 'a|web/test_2.html':
628 '<!DOCTYPE html><html><head>' 691 '<!DOCTYPE html><html><head>'
629 '<link rel="import" href="test_3.html">' 692 '<link rel="import" href="test_3.html">'
630 '</head><body><polymer-element>2</polymer-element></body></html>', 693 '</head><body><polymer-element>2</polymer-element></body></html>',
631 'a|web/test_3.html': 694 'a|web/test_3.html':
632 '<!DOCTYPE html><html><head>' 695 '<!DOCTYPE html><html><head>'
633 '</head><body><polymer-element>3</polymer-element></body></html>', 696 '</head><body><polymer-element>3</polymer-element></body></html>',
634 }, { 697 }, {
635 'a|web/test.html': 698 'a|web/test.html':
636 '<!DOCTYPE html><html><head>' 699 '<!DOCTYPE html><html><head>'
637 '</head><body>' 700 '</head><body>'
701 '<div hidden="">'
638 '<polymer-element>3</polymer-element>' 702 '<polymer-element>3</polymer-element>'
639 '<polymer-element>1</polymer-element>' 703 '<polymer-element>1</polymer-element>'
640 '<polymer-element>2</polymer-element></body></html>', 704 '<polymer-element>2</polymer-element>'
705 '</div>'
706 '</body></html>',
641 'a|web/test_1.html': 707 'a|web/test_1.html':
642 '<!DOCTYPE html><html><head>' 708 '<!DOCTYPE html><html><head>'
643 '</head><body>' 709 '</head><body>'
710 '<div hidden="">'
644 '<polymer-element>3</polymer-element>' 711 '<polymer-element>3</polymer-element>'
712 '</div>'
645 '<polymer-element>1</polymer-element></body></html>', 713 '<polymer-element>1</polymer-element></body></html>',
646 'a|web/test_2.html': 714 'a|web/test_2.html':
647 '<!DOCTYPE html><html><head>' 715 '<!DOCTYPE html><html><head>'
648 '</head><body>' 716 '</head><body>'
717 '<div hidden="">'
649 '<polymer-element>3</polymer-element>' 718 '<polymer-element>3</polymer-element>'
719 '</div>'
650 '<polymer-element>2</polymer-element></body></html>', 720 '<polymer-element>2</polymer-element></body></html>',
651 'a|web/test_3.html': 721 'a|web/test_3.html':
652 '<!DOCTYPE html><html><head>' 722 '<!DOCTYPE html><html><head>'
653 '</head><body>' 723 '</head><body>'
654 '<polymer-element>3</polymer-element></body></html>', 724 '<polymer-element>3</polymer-element></body></html>',
655 }); 725 });
656 726
657 testLogOutput( 727 testLogOutput(
658 (options) => new ImportInliner(options), 728 (options) => new ImportInliner(options),
659 "missing styles don't throw errors and are not inlined", { 729 "missing styles don't throw errors and are not inlined", {
660 'a|web/test.html': 730 'a|web/test.html':
661 '<!DOCTYPE html><html><head>' 731 '<!DOCTYPE html><html><head>'
662 '<link rel="stylesheet" href="foo.css">' 732 '<link rel="stylesheet" href="foo.css">'
663 '</head></html>', 733 '</head></html>',
664 }, { 734 }, {
665 'a|web/test.html': 735 'a|web/test.html':
666 '<!DOCTYPE html><html><head></head><body>' 736 '<!DOCTYPE html><html><head></head><body>'
737 '<div hidden="">'
667 '<link rel="stylesheet" href="foo.css">' 738 '<link rel="stylesheet" href="foo.css">'
739 '</div>'
668 '</body></html>', 740 '</body></html>',
669 }, [ 741 }, [
670 'warning: Failed to inline stylesheet: ' 742 'warning: Failed to inline stylesheet: '
671 'Could not find asset a|web/foo.css. (web/test.html 0 27)', 743 'Could not find asset a|web/foo.css. (web/test.html 0 27)',
672 ]); 744 ]);
673 745
674 testLogOutput( 746 testLogOutput(
675 (options) => new ImportInliner(options), 747 (options) => new ImportInliner(options),
676 "missing html imports throw errors", { 748 "missing html imports throw errors", {
677 'a|web/test.html': 749 'a|web/test.html':
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 testPhases('shallow, inlines css', phases, { 830 testPhases('shallow, inlines css', phases, {
759 'a|web/test.html': 831 'a|web/test.html':
760 '<!DOCTYPE html><html><head>' 832 '<!DOCTYPE html><html><head>'
761 '<link rel="stylesheet" href="test2.css">' 833 '<link rel="stylesheet" href="test2.css">'
762 '</head></html>', 834 '</head></html>',
763 'a|web/test2.css': 835 'a|web/test2.css':
764 'h1 { font-size: 70px; }', 836 'h1 { font-size: 70px; }',
765 }, { 837 }, {
766 'a|web/test.html': 838 'a|web/test.html':
767 '<!DOCTYPE html><html><head></head><body>' 839 '<!DOCTYPE html><html><head></head><body>'
840 '<div hidden="">'
768 '<style>h1 { font-size: 70px; }</style>' 841 '<style>h1 { font-size: 70px; }</style>'
842 '</div>'
769 '</body></html>', 843 '</body></html>',
770 'a|web/test.html._data': EMPTY_DATA, 844 'a|web/test.html._data': EMPTY_DATA,
771 'a|web/test2.css': 845 'a|web/test2.css':
772 'h1 { font-size: 70px; }', 846 'h1 { font-size: 70px; }',
773 }); 847 });
774 848
775 testPhases('deep, inlines css', phases, { 849 testPhases('deep, inlines css', phases, {
776 'a|web/test.html': 850 'a|web/test.html':
777 '<!DOCTYPE html><html><head>' 851 '<!DOCTYPE html><html><head>'
778 '<link rel="import" href="test2.html">' 852 '<link rel="import" href="test2.html">'
779 '</head></html>', 853 '</head></html>',
780 'a|web/test2.html': 854 'a|web/test2.html':
781 '<polymer-element>2' 855 '<polymer-element>2'
782 '<link rel="stylesheet" href="assets/b/test3.css">' 856 '<link rel="stylesheet" href="assets/b/test3.css">'
783 '</polymer-element>', 857 '</polymer-element>',
784 'b|asset/test3.css': 858 'b|asset/test3.css':
785 'body {\n background: #eaeaea url("../../assets/b/test4.png");\n}\n' 859 'body {\n background: #eaeaea url("../../assets/b/test4.png");\n}\n'
786 '.foo {\n background: url("../../packages/c/test5.png");\n}', 860 '.foo {\n background: url("../../packages/c/test5.png");\n}',
787 'b|asset/test4.png': 'PNG', 861 'b|asset/test4.png': 'PNG',
788 'c|lib/test5.png': 'PNG', 862 'c|lib/test5.png': 'PNG',
789 }, { 863 }, {
790 'a|web/test.html': 864 'a|web/test.html':
791 '<!DOCTYPE html><html><head></head><body>' 865 '<!DOCTYPE html><html><head></head><body>'
866 '<div hidden="">'
792 '<polymer-element>2' 867 '<polymer-element>2'
793 '<style>' 868 '<style>'
794 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' 869 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n'
795 '.foo {\n background: url(packages/c/test5.png);\n}' 870 '.foo {\n background: url(packages/c/test5.png);\n}'
796 '</style>' 871 '</style>'
797 '</polymer-element>' 872 '</polymer-element>'
873 '</div>'
798 '</body></html>', 874 '</body></html>',
799 'a|web/test2.html': 875 'a|web/test2.html':
800 '<html><head></head><body>' 876 '<html><head></head><body>'
801 '<polymer-element>2' 877 '<polymer-element>2'
802 '<style>' 878 '<style>'
803 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' 879 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n'
804 '.foo {\n background: url(packages/c/test5.png);\n}' 880 '.foo {\n background: url(packages/c/test5.png);\n}'
805 '</style>' 881 '</style>'
806 '</polymer-element>' 882 '</polymer-element>'
807 '</body></html>', 883 '</body></html>',
(...skipping 15 matching lines...) Expand all
823 '<link rel="stylesheet" href="test.css">' 899 '<link rel="stylesheet" href="test.css">'
824 '</polymer-element>', 900 '</polymer-element>',
825 'a|web/foo/bar/test3.html': 901 'a|web/foo/bar/test3.html':
826 '<img src="qux.png">', 902 '<img src="qux.png">',
827 'a|web/foo/test.css': 903 'a|web/foo/test.css':
828 'body {\n background: #eaeaea url("test4.png");\n}\n' 904 'body {\n background: #eaeaea url("test4.png");\n}\n'
829 '.foo {\n background: url("test5.png");\n}', 905 '.foo {\n background: url("test5.png");\n}',
830 }, { 906 }, {
831 'a|web/test.html': 907 'a|web/test.html':
832 '<!DOCTYPE html><html><head></head><body>' 908 '<!DOCTYPE html><html><head></head><body>'
909 '<div hidden="">'
833 '<img src="foo/bar/qux.png">' 910 '<img src="foo/bar/qux.png">'
834 '<polymer-element>2' 911 '<polymer-element>2'
835 '<style>' 912 '<style>'
836 'body {\n background: #eaeaea url(foo/test4.png);\n}\n' 913 'body {\n background: #eaeaea url(foo/test4.png);\n}\n'
837 '.foo {\n background: url(foo/test5.png);\n}' 914 '.foo {\n background: url(foo/test5.png);\n}'
838 '</style></polymer-element></body></html>', 915 '</style></polymer-element>'
916 '</div>'
917 '</body></html>',
839 'a|web/foo/test2.html': 918 'a|web/foo/test2.html':
840 '<html><head></head><body>' 919 '<html><head></head><body>'
920 '<div hidden="">' // NOTE: Parser injects the first import into head.
Siggi Cherem (dart-lang) 2014/09/15 18:04:32 I'm not sure I follow, what did you mean with this
jakemac 2014/09/15 18:34:03 In the original file, there was no <head> tag so y
Siggi Cherem (dart-lang) 2014/09/15 19:18:16 Ah, OK, maybe rephrase a bit ('injects' sounds lik
jakemac 2014/09/15 20:47:34 Added some comments to the definition On 2014/09/
841 '<img src="bar/qux.png">' 921 '<img src="bar/qux.png">'
922 '</div>'
842 '<polymer-element>2' 923 '<polymer-element>2'
843 '<style>' 924 '<style>'
844 'body {\n background: #eaeaea url(test4.png);\n}\n' 925 'body {\n background: #eaeaea url(test4.png);\n}\n'
845 '.foo {\n background: url(test5.png);\n}' 926 '.foo {\n background: url(test5.png);\n}'
846 '</style></polymer-element></body></html>', 927 '</style></polymer-element>'
928 '</body></html>',
847 'a|web/foo/bar/test3.html': 929 'a|web/foo/bar/test3.html':
848 '<img src="qux.png">', 930 '<img src="qux.png">',
849 'a|web/foo/test.css': 931 'a|web/foo/test.css':
850 'body {\n background: #eaeaea url("test4.png");\n}\n' 932 'body {\n background: #eaeaea url("test4.png");\n}\n'
851 '.foo {\n background: url("test5.png");\n}', 933 '.foo {\n background: url("test5.png");\n}',
852 }); 934 });
853 935
854 testPhases('shallow, inlines css and preserves order', phases, { 936 testPhases('shallow, inlines css and preserves order', phases, {
855 'a|web/test.html': 937 'a|web/test.html':
856 '<!DOCTYPE html><html><head>' 938 '<!DOCTYPE html><html><head>'
857 '<style>.first { color: black }</style>' 939 '<style>.first { color: black }</style>'
858 '<link rel="stylesheet" href="test2.css">' 940 '<link rel="stylesheet" href="test2.css">'
859 '<style>.second { color: black }</style>' 941 '<style>.second { color: black }</style>'
860 '</head></html>', 942 '</head></html>',
861 'a|web/test2.css': 943 'a|web/test2.css':
862 'h1 { font-size: 70px; }', 944 'h1 { font-size: 70px; }',
863 }, { 945 }, {
864 'a|web/test.html': 946 'a|web/test.html':
865 '<!DOCTYPE html><html><head></head><body>' 947 '<!DOCTYPE html><html><head></head><body>'
948 '<div hidden="">'
866 '<style>.first { color: black }</style>' 949 '<style>.first { color: black }</style>'
867 '<style>h1 { font-size: 70px; }</style>' 950 '<style>h1 { font-size: 70px; }</style>'
868 '<style>.second { color: black }</style>' 951 '<style>.second { color: black }</style>'
952 '</div>'
869 '</body></html>', 953 '</body></html>',
870 'a|web/test.html._data': EMPTY_DATA, 954 'a|web/test.html._data': EMPTY_DATA,
871 'a|web/test2.css': 955 'a|web/test2.css':
872 'h1 { font-size: 70px; }', 956 'h1 { font-size: 70px; }',
873 }); 957 });
874 958
875 testPhases('inlined tags keep original attributes', phases, { 959 testPhases('inlined tags keep original attributes', phases, {
876 'a|web/test.html': 960 'a|web/test.html':
877 '<!DOCTYPE html><html><head>' 961 '<!DOCTYPE html><html><head>'
878 '<link rel="stylesheet" href="foo.css" no-shim>' 962 '<link rel="stylesheet" href="foo.css" no-shim>'
879 '<link rel="stylesheet" href="bar.css" shim-shadow foo>' 963 '<link rel="stylesheet" href="bar.css" shim-shadow foo>'
880 '</head></html>', 964 '</head></html>',
881 'a|web/foo.css': 965 'a|web/foo.css':
882 'h1 { font-size: 70px; }', 966 'h1 { font-size: 70px; }',
883 'a|web/bar.css': 967 'a|web/bar.css':
884 'h2 { font-size: 35px; }', 968 'h2 { font-size: 35px; }',
885 }, { 969 }, {
886 'a|web/test.html': 970 'a|web/test.html':
887 '<!DOCTYPE html><html><head></head><body>' 971 '<!DOCTYPE html><html><head></head><body>'
972 '<div hidden="">'
888 '<style no-shim="">h1 { font-size: 70px; }</style>' 973 '<style no-shim="">h1 { font-size: 70px; }</style>'
889 '<style shim-shadow="" foo="">h2 { font-size: 35px; }</style>' 974 '<style shim-shadow="" foo="">h2 { font-size: 35px; }</style>'
975 '</div>'
890 '</body></html>', 976 '</body></html>',
891 'a|web/foo.css': 977 'a|web/foo.css':
892 'h1 { font-size: 70px; }', 978 'h1 { font-size: 70px; }',
893 'a|web/bar.css': 979 'a|web/bar.css':
894 'h2 { font-size: 35px; }', 980 'h2 { font-size: 35px; }',
895 }); 981 });
896 982
897 testPhases( 983 testPhases(
898 'can configure default stylesheet inlining', 984 'can configure default stylesheet inlining',
899 [[new ImportInliner(new TransformOptions( 985 [[new ImportInliner(new TransformOptions(
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 '<link rel="import" href="foo/test_1.html">' 1040 '<link rel="import" href="foo/test_1.html">'
955 '<link rel="import" href="foo/test_2.html">' 1041 '<link rel="import" href="foo/test_2.html">'
956 '</head></html>', 1042 '</head></html>',
957 'a|web/foo/test_1.html': 1043 'a|web/foo/test_1.html':
958 '<script src="baz.jpg"></script>', 1044 '<script src="baz.jpg"></script>',
959 'a|web/foo/test_2.html': 1045 'a|web/foo/test_2.html':
960 '<foo-element src="baz.jpg"></foo-element>' 1046 '<foo-element src="baz.jpg"></foo-element>'
961 }, { 1047 }, {
962 'a|web/test.html': 1048 'a|web/test.html':
963 '<!DOCTYPE html><html><head></head><body>' 1049 '<!DOCTYPE html><html><head></head><body>'
1050 '<div hidden="">'
964 '<script src="foo/baz.jpg"></script>' // normalized 1051 '<script src="foo/baz.jpg"></script>' // normalized
965 '<foo-element src="baz.jpg"></foo-element>' // left alone (custom) 1052 '<foo-element src="baz.jpg"></foo-element>' // left alone (custom)
1053 '</div>'
966 '</body></html>', 1054 '</body></html>',
967 'a|web/foo/test_1.html': 1055 'a|web/foo/test_1.html':
968 '<script src="baz.jpg"></script>', 1056 '<script src="baz.jpg"></script>',
969 'a|web/foo/test_2.html': 1057 'a|web/foo/test_2.html':
970 '<foo-element src="baz.jpg"></foo-element>', 1058 '<foo-element src="baz.jpg"></foo-element>',
971 }); 1059 });
972 1060
973 testPhases('paths with a binding prefix are not normalized', phases, { 1061 testPhases('paths with a binding prefix are not normalized', phases, {
974 'a|web/test.html': 1062 'a|web/test.html':
975 '<!DOCTYPE html><html><head>' 1063 '<!DOCTYPE html><html><head>'
976 '<link rel="import" href="foo/test.html">' 1064 '<link rel="import" href="foo/test.html">'
977 '</head></html>', 1065 '</head></html>',
978 'a|web/foo/test.html': 1066 'a|web/foo/test.html':
979 '<img src="{{bar}}">' 1067 '<img src="{{bar}}">'
980 '<img src="[[bar]]">', 1068 '<img src="[[bar]]">',
981 }, { 1069 }, {
982 'a|web/test.html': 1070 'a|web/test.html':
983 '<!DOCTYPE html><html><head></head><body>' 1071 '<!DOCTYPE html><html><head></head><body>'
1072 '<div hidden="">'
984 '<img src="{{bar}}">' 1073 '<img src="{{bar}}">'
985 '<img src="[[bar]]">' 1074 '<img src="[[bar]]">'
1075 '</div>'
986 '</body></html>', 1076 '</body></html>',
987 'a|web/foo/test.html': 1077 'a|web/foo/test.html':
988 '<img src="{{bar}}">' 1078 '<img src="{{bar}}">'
989 '<img src="[[bar]]">', 1079 '<img src="[[bar]]">',
990 }); 1080 });
991 1081
992 testPhases('relative paths followed by bindings are normalized', phases, { 1082 testPhases('relative paths followed by bindings are normalized', phases, {
993 'a|web/test.html': 1083 'a|web/test.html':
994 '<!DOCTYPE html><html><head>' 1084 '<!DOCTYPE html><html><head>'
995 '<link rel="import" href="foo/test.html">' 1085 '<link rel="import" href="foo/test.html">'
996 '</head></html>', 1086 '</head></html>',
997 'a|web/foo/test.html': 1087 'a|web/foo/test.html':
998 '<img src="baz/{{bar}}">' 1088 '<img src="baz/{{bar}}">'
999 '<img src="./{{bar}}">', 1089 '<img src="./{{bar}}">',
1000 }, { 1090 }, {
1001 'a|web/test.html': 1091 'a|web/test.html':
1002 '<!DOCTYPE html><html><head></head><body>' 1092 '<!DOCTYPE html><html><head></head><body>'
1093 '<div hidden="">'
1003 '<img src="foo/baz/{{bar}}">' 1094 '<img src="foo/baz/{{bar}}">'
1004 '<img src="foo/{{bar}}">' 1095 '<img src="foo/{{bar}}">'
1096 '</div>'
1005 '</body></html>', 1097 '</body></html>',
1006 }); 1098 });
1007 1099
1008 testPhases('relative paths in _* attributes are normalized', phases, { 1100 testPhases('relative paths in _* attributes are normalized', phases, {
1009 'a|web/test.html': 1101 'a|web/test.html':
1010 '<!DOCTYPE html><html><head>' 1102 '<!DOCTYPE html><html><head>'
1011 '<link rel="import" href="foo/test.html">' 1103 '<link rel="import" href="foo/test.html">'
1012 '</head></html>', 1104 '</head></html>',
1013 'a|web/foo/test.html': 1105 'a|web/foo/test.html':
1014 '<img _src="./{{bar}}">' 1106 '<img _src="./{{bar}}">'
1015 '<a _href="./{{bar}}">test</a>', 1107 '<a _href="./{{bar}}">test</a>',
1016 }, { 1108 }, {
1017 'a|web/test.html': 1109 'a|web/test.html':
1018 '<!DOCTYPE html><html><head></head><body>' 1110 '<!DOCTYPE html><html><head></head><body>'
1111 '<div hidden="">'
1019 '<img _src="foo/{{bar}}">' 1112 '<img _src="foo/{{bar}}">'
1020 '<a _href="foo/{{bar}}">test</a>' 1113 '<a _href="foo/{{bar}}">test</a>'
1114 '</div>'
1021 '</body></html>', 1115 '</body></html>',
1022 }); 1116 });
1023 1117
1024 1118
1025 testLogOutput( 1119 testLogOutput(
1026 (options) => new ImportInliner(options), 1120 (options) => new ImportInliner(options),
1027 'warnings are given about _* attributes', { 1121 'warnings are given about _* attributes', {
1028 'a|web/test.html': 1122 'a|web/test.html':
1029 '<!DOCTYPE html><html><head></head><body>' 1123 '<!DOCTYPE html><html><head></head><body>'
1030 '<img src="foo/{{bar}}">' 1124 '<img src="foo/{{bar}}">'
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 '<link rel="import" href="../../packages/a/foo/foo.html">' 1168 '<link rel="import" href="../../packages/a/foo/foo.html">'
1075 '</head></html>', 1169 '</head></html>',
1076 'a|lib/foo/foo.html': 1170 'a|lib/foo/foo.html':
1077 '<script rel="import" href="../../../packages/b/bar/bar.js">' 1171 '<script rel="import" href="../../../packages/b/bar/bar.js">'
1078 '</script>', 1172 '</script>',
1079 'b|lib/bar/bar.js': 1173 'b|lib/bar/bar.js':
1080 'console.log("here");', 1174 'console.log("here");',
1081 }, { 1175 }, {
1082 'a|web/test/test.html': 1176 'a|web/test/test.html':
1083 '<!DOCTYPE html><html><head></head><body>' 1177 '<!DOCTYPE html><html><head></head><body>'
1178 '<div hidden="">'
1084 '<script rel="import" href="../packages/b/bar/bar.js"></script>' 1179 '<script rel="import" href="../packages/b/bar/bar.js"></script>'
1180 '</div>'
1085 '</body></html>', 1181 '</body></html>',
1086 }); 1182 });
1087 1183
1088 testPhases('includes in entry points normalize correctly', phases, { 1184 testPhases('includes in entry points normalize correctly', phases, {
1089 'a|web/test/test.html': 1185 'a|web/test/test.html':
1090 '<!DOCTYPE html><html><head>' 1186 '<!DOCTYPE html><html><head>'
1091 '<script src="packages/a/foo/bar.js"></script>' 1187 '<script src="packages/a/foo/bar.js"></script>'
1092 '</head></html>', 1188 '</head></html>',
1093 'a|lib/foo/bar.js': 1189 'a|lib/foo/bar.js':
1094 'console.log("here");', 1190 'console.log("here");',
1095 }, { 1191 }, {
1096 'a|web/test/test.html': 1192 'a|web/test/test.html':
1097 '<!DOCTYPE html><html><head></head><body>' 1193 '<!DOCTYPE html><html><head></head><body>'
1194 '<div hidden="">'
1098 '<script src="../packages/a/foo/bar.js"></script>' 1195 '<script src="../packages/a/foo/bar.js"></script>'
1196 '</div>'
1099 '</body></html>', 1197 '</body></html>',
1100 }); 1198 });
1101 1199
1102 testPhases('two level deep entry points normalize correctly', phases, { 1200 testPhases('two level deep entry points normalize correctly', phases, {
1103 'a|web/test/well/test.html': 1201 'a|web/test/well/test.html':
1104 '<!DOCTYPE html><html><head>' 1202 '<!DOCTYPE html><html><head>'
1105 '<link rel="import" href="../../../packages/a/foo/foo.html">' 1203 '<link rel="import" href="../../../packages/a/foo/foo.html">'
1106 '</head></html>', 1204 '</head></html>',
1107 'a|lib/foo/foo.html': 1205 'a|lib/foo/foo.html':
1108 '<script rel="import" href="../../../packages/b/bar/bar.js"></script>', 1206 '<script rel="import" href="../../../packages/b/bar/bar.js"></script>',
1109 'b|lib/bar/bar.js': 1207 'b|lib/bar/bar.js':
1110 'console.log("here");', 1208 'console.log("here");',
1111 }, { 1209 }, {
1112 'a|web/test/well/test.html': 1210 'a|web/test/well/test.html':
1113 '<!DOCTYPE html><html><head></head><body>' 1211 '<!DOCTYPE html><html><head></head><body>'
1212 '<div hidden="">'
1114 '<script rel="import" href="../../packages/b/bar/bar.js"></script>' 1213 '<script rel="import" href="../../packages/b/bar/bar.js"></script>'
1214 '</div>'
1115 '</body></html>', 1215 '</body></html>',
1116 }); 1216 });
1117 } 1217 }
OLDNEW
« no previous file with comments | « pkg/polymer/test/build/all_phases_test.dart ('k') | pkg/polymer/test/build/linter_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698