| OLD | NEW |
| 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 'package:polymer/src/build/common.dart'; | 7 import 'package:polymer/src/build/common.dart'; |
| 8 import 'package:polymer/src/build/import_inliner.dart'; | 8 import 'package:polymer/src/build/import_inliner.dart'; |
| 9 import 'package:unittest/compact_vm_config.dart'; | 9 import 'package:unittest/compact_vm_config.dart'; |
| 10 import 'package:unittest/unittest.dart'; | 10 import 'package:unittest/unittest.dart'; |
| 11 | 11 |
| 12 import 'common.dart'; | 12 import 'common.dart'; |
| 13 | 13 |
| 14 void main() { | 14 void main() { |
| 15 useCompactVMConfiguration(); | 15 useCompactVMConfiguration(); |
| 16 var phases = [[new ImportInliner(new TransformOptions())]]; | 16 var phases = [[new ImportInliner(new TransformOptions())]]; |
| 17 testPhases('no changes', phases, { | 17 testPhases('no changes', phases, { |
| 18 'a|web/test.html': '<!DOCTYPE html><html></html>', | 18 'a|web/test.html': '<!DOCTYPE html><html></html>', |
| 19 }, { | 19 }, { |
| 20 'a|web/test.html': '<!DOCTYPE html><html></html>', | 20 'a|web/test.html': '<!DOCTYPE html><html></html>', |
| 21 'a|web/test.html.scriptUrls': '[]', |
| 21 }); | 22 }); |
| 22 | 23 |
| 23 testPhases('empty import', phases, { | 24 testPhases('empty import', phases, { |
| 24 'a|web/test.html': | 25 'a|web/test.html': |
| 25 '<!DOCTYPE html><html><head>' | 26 '<!DOCTYPE html><html><head>' |
| 26 '<link rel="import" href="">' // empty href | 27 '<link rel="import" href="">' // empty href |
| 27 '</head></html>', | 28 '</head></html>', |
| 28 'a|web/test2.html': | 29 'a|web/test2.html': |
| 29 '<!DOCTYPE html><html><head>' | 30 '<!DOCTYPE html><html><head>' |
| 30 '<link rel="import">' // no href | 31 '<link rel="import">' // no href |
| 31 '</head></html>', | 32 '</head></html>', |
| 32 }, { | 33 }, { |
| 33 'a|web/test.html': | 34 'a|web/test.html': |
| 34 '<!DOCTYPE html><html><head>' | 35 '<!DOCTYPE html><html><head>' |
| 35 '</head><body></body></html>', | 36 '</head><body></body></html>', |
| 37 'a|web/test.html.scriptUrls': '[]', |
| 36 'a|web/test2.html': | 38 'a|web/test2.html': |
| 37 '<!DOCTYPE html><html><head>' | 39 '<!DOCTYPE html><html><head>' |
| 38 '</head><body></body></html>', | 40 '</head><body></body></html>', |
| 41 'a|web/test2.html.scriptUrls': '[]', |
| 39 }); | 42 }); |
| 40 | 43 |
| 41 testPhases('shallow, no elements', phases, { | 44 testPhases('shallow, no elements', phases, { |
| 42 'a|web/test.html': | 45 'a|web/test.html': |
| 43 '<!DOCTYPE html><html><head>' | 46 '<!DOCTYPE html><html><head>' |
| 44 '<link rel="import" href="test2.html">' | 47 '<link rel="import" href="test2.html">' |
| 45 '</head></html>', | 48 '</head></html>', |
| 46 'a|web/test2.html': | 49 'a|web/test2.html': |
| 47 '<!DOCTYPE html><html><head>' | 50 '<!DOCTYPE html><html><head>' |
| 48 '</head></html>', | 51 '</head></html>', |
| 49 }, { | 52 }, { |
| 50 'a|web/test.html': | 53 'a|web/test.html': |
| 51 '<!DOCTYPE html><html><head>' | 54 '<!DOCTYPE html><html><head>' |
| 52 '</head><body></body></html>', | 55 '</head><body></body></html>', |
| 56 'a|web/test.html.scriptUrls': '[]', |
| 53 'a|web/test2.html': | 57 'a|web/test2.html': |
| 54 '<!DOCTYPE html><html><head>' | 58 '<!DOCTYPE html><html><head>' |
| 55 '</head></html>', | 59 '</head></html>', |
| 60 'a|web/test2.html.scriptUrls': '[]', |
| 56 }); | 61 }); |
| 57 | 62 |
| 58 testPhases('shallow, elements, one import', phases, | 63 testPhases('shallow, elements, one import', phases, |
| 59 { | 64 { |
| 60 'a|web/test.html': | 65 'a|web/test.html': |
| 61 '<!DOCTYPE html><html><head>' | 66 '<!DOCTYPE html><html><head>' |
| 62 '<link rel="import" href="test2.html">' | 67 '<link rel="import" href="test2.html">' |
| 63 '</head></html>', | 68 '</head></html>', |
| 64 'a|web/test2.html': | 69 'a|web/test2.html': |
| 65 '<!DOCTYPE html><html><head>' | 70 '<!DOCTYPE html><html><head>' |
| 66 '</head><body><polymer-element>2</polymer-element></html>', | 71 '</head><body><polymer-element>2</polymer-element></html>', |
| 67 }, { | 72 }, { |
| 68 'a|web/test.html': | 73 'a|web/test.html': |
| 69 '<!DOCTYPE html><html><head>' | 74 '<!DOCTYPE html><html><head>' |
| 70 '</head><body>' | 75 '</head><body>' |
| 71 '<polymer-element>2</polymer-element>' | 76 '<polymer-element>2</polymer-element>' |
| 72 '</body></html>', | 77 '</body></html>', |
| 78 'a|web/test.html.scriptUrls': '[]', |
| 73 'a|web/test2.html': | 79 'a|web/test2.html': |
| 74 '<!DOCTYPE html><html><head>' | 80 '<!DOCTYPE html><html><head>' |
| 75 '</head><body><polymer-element>2</polymer-element></html>', | 81 '</head><body><polymer-element>2</polymer-element></html>', |
| 82 'a|web/test2.html.scriptUrls': '[]', |
| 76 }); | 83 }); |
| 77 | 84 |
| 78 testPhases('no transformation outside web/', phases, | 85 testPhases('no transformation outside web/', phases, |
| 79 { | 86 { |
| 80 'a|lib/test.html': | 87 'a|lib/test.html': |
| 81 '<!DOCTYPE html><html><head>' | 88 '<!DOCTYPE html><html><head>' |
| 82 '<link rel="import" href="test2.html">' | 89 '<link rel="import" href="test2.html">' |
| 83 '</head></html>', | 90 '</head></html>', |
| 84 'a|lib/test2.html': | 91 'a|lib/test2.html': |
| 85 '<!DOCTYPE html><html><head>' | 92 '<!DOCTYPE html><html><head>' |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 '</head><body><polymer-element>2</polymer-element>' | 289 '</head><body><polymer-element>2</polymer-element>' |
| 283 '<script src="s2"></script></html>', | 290 '<script src="s2"></script></html>', |
| 284 }, { | 291 }, { |
| 285 'a|web/test.html': | 292 'a|web/test.html': |
| 286 '<!DOCTYPE html><html><head>' | 293 '<!DOCTYPE html><html><head>' |
| 287 '</head><body>' | 294 '</head><body>' |
| 288 '<polymer-element>2</polymer-element>' | 295 '<polymer-element>2</polymer-element>' |
| 289 '<script src="s2"></script>' | 296 '<script src="s2"></script>' |
| 290 '<polymer-element>1</polymer-element>' | 297 '<polymer-element>1</polymer-element>' |
| 291 '<script src="s1"></script></body></html>', | 298 '<script src="s1"></script></body></html>', |
| 299 'a|web/test.html.scriptUrls': '[]', |
| 292 'a|web/test_1.html': | 300 'a|web/test_1.html': |
| 293 '<!DOCTYPE html><html><head>' | 301 '<!DOCTYPE html><html><head>' |
| 294 '</head><body>' | 302 '</head><body>' |
| 295 '<polymer-element>2</polymer-element>' | 303 '<polymer-element>2</polymer-element>' |
| 296 '<script src="s2"></script>' | 304 '<script src="s2"></script>' |
| 297 '<polymer-element>1</polymer-element>' | 305 '<polymer-element>1</polymer-element>' |
| 298 '<script src="s1"></script></body></html>', | 306 '<script src="s1"></script></body></html>', |
| 307 'a|web/test_1.html.scriptUrls': '[]', |
| 299 'a|web/test_2.html': | 308 'a|web/test_2.html': |
| 300 '<!DOCTYPE html><html><head>' | 309 '<!DOCTYPE html><html><head>' |
| 301 '</head><body>' | 310 '</head><body>' |
| 302 '<polymer-element>1</polymer-element>' | 311 '<polymer-element>1</polymer-element>' |
| 303 '<script src="s1"></script>' | 312 '<script src="s1"></script>' |
| 304 '<polymer-element>2</polymer-element>' | 313 '<polymer-element>2</polymer-element>' |
| 305 '<script src="s2"></script></body></html>', | 314 '<script src="s2"></script></body></html>', |
| 315 'a|web/test_2.html.scriptUrls': '[]', |
| 316 }); |
| 317 |
| 318 testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, { |
| 319 'a|web/test.html': |
| 320 '<!DOCTYPE html><html><head>' |
| 321 '<link rel="import" href="test_1.html">' |
| 322 '</head></html>', |
| 323 'a|web/test_1.html': |
| 324 '<!DOCTYPE html><html><head>' |
| 325 '<link rel="import" href="test_2.html">' |
| 326 '</head><body><polymer-element>1</polymer-element>' |
| 327 '<script type="application/dart" src="s1.dart"></script></html>', |
| 328 'a|web/test_2.html': |
| 329 '<!DOCTYPE html><html><head>' |
| 330 '<link rel="import" href="test_1.html">' |
| 331 '</head><body><polymer-element>2' |
| 332 '<script type="application/dart" src="s2.dart"></script>' |
| 333 '</polymer-element>' |
| 334 '</html>', |
| 335 }, { |
| 336 'a|web/test.html': |
| 337 '<!DOCTYPE html><html><head>' |
| 338 '</head><body>' |
| 339 '<polymer-element>2</polymer-element>' |
| 340 '<polymer-element>1</polymer-element>' |
| 341 '</body></html>', |
| 342 'a|web/test.html.scriptUrls': '[["a","web/s2.dart"],["a","web/s1.dart"]]', |
| 343 'a|web/test_1.html': |
| 344 '<!DOCTYPE html><html><head>' |
| 345 '</head><body>' |
| 346 '<polymer-element>2</polymer-element>' |
| 347 '<polymer-element>1</polymer-element>' |
| 348 '<script type="application/dart" src="s1.dart"></script>' |
| 349 '</body></html>', |
| 350 'a|web/test_1.html.scriptUrls': |
| 351 '[["a","web/s2.dart"]]', |
| 352 'a|web/test_2.html': |
| 353 '<!DOCTYPE html><html><head>' |
| 354 '</head><body>' |
| 355 '<polymer-element>1</polymer-element>' |
| 356 '<polymer-element>2' |
| 357 '<script type="application/dart" src="s2.dart"></script>' |
| 358 '</polymer-element>' |
| 359 '</body></html>', |
| 360 'a|web/test_2.html.scriptUrls': |
| 361 '[["a","web/s1.dart"]]', |
| 306 }); | 362 }); |
| 307 | 363 |
| 308 testPhases('imports cycle, 2-step lasso', phases, { | 364 testPhases('imports cycle, 2-step lasso', phases, { |
| 309 'a|web/test.html': | 365 'a|web/test.html': |
| 310 '<!DOCTYPE html><html><head>' | 366 '<!DOCTYPE html><html><head>' |
| 311 '<link rel="import" href="test_1.html">' | 367 '<link rel="import" href="test_1.html">' |
| 312 '</head></html>', | 368 '</head></html>', |
| 313 'a|web/test_1.html': | 369 'a|web/test_1.html': |
| 314 '<!DOCTYPE html><html><head>' | 370 '<!DOCTYPE html><html><head>' |
| 315 '<link rel="import" href="test_2.html">' | 371 '<link rel="import" href="test_2.html">' |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 '<!DOCTYPE html><html><head>' | 458 '<!DOCTYPE html><html><head>' |
| 403 '</head><body>' | 459 '</head><body>' |
| 404 '<polymer-element>3</polymer-element>' | 460 '<polymer-element>3</polymer-element>' |
| 405 '<polymer-element>2</polymer-element></body></html>', | 461 '<polymer-element>2</polymer-element></body></html>', |
| 406 'a|web/test_3.html': | 462 'a|web/test_3.html': |
| 407 '<!DOCTYPE html><html><head>' | 463 '<!DOCTYPE html><html><head>' |
| 408 '</head><body>' | 464 '</head><body>' |
| 409 '<polymer-element>3</polymer-element></body></html>', | 465 '<polymer-element>3</polymer-element></body></html>', |
| 410 }); | 466 }); |
| 411 } | 467 } |
| OLD | NEW |