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 final phases = [[new ImportInliner(new TransformOptions())]]; |
| 15 |
14 void main() { | 16 void main() { |
15 useCompactVMConfiguration(); | 17 useCompactVMConfiguration(); |
16 var phases = [[new ImportInliner(new TransformOptions())]]; | 18 group('rel=import', importTests); |
| 19 group('rel=stylesheet', stylesheetTests); |
| 20 } |
| 21 |
| 22 void importTests() { |
17 testPhases('no changes', phases, { | 23 testPhases('no changes', phases, { |
18 'a|web/test.html': '<!DOCTYPE html><html></html>', | 24 'a|web/test.html': '<!DOCTYPE html><html></html>', |
19 }, { | 25 }, { |
20 'a|web/test.html': '<!DOCTYPE html><html></html>', | 26 'a|web/test.html': '<!DOCTYPE html><html></html>', |
21 'a|web/test.html.scriptUrls': '[]', | 27 'a|web/test.html.scriptUrls': '[]', |
22 }); | 28 }); |
23 | 29 |
24 testPhases('empty import', phases, { | 30 testPhases('empty import', phases, { |
25 'a|web/test.html': | 31 'a|web/test.html': |
26 '<!DOCTYPE html><html><head>' | 32 '<!DOCTYPE html><html><head>' |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 '<!DOCTYPE html><html><head>' | 501 '<!DOCTYPE html><html><head>' |
496 '</head><body>' | 502 '</head><body>' |
497 '<polymer-element>3</polymer-element>' | 503 '<polymer-element>3</polymer-element>' |
498 '<polymer-element>2</polymer-element></body></html>', | 504 '<polymer-element>2</polymer-element></body></html>', |
499 'a|web/test_3.html': | 505 'a|web/test_3.html': |
500 '<!DOCTYPE html><html><head>' | 506 '<!DOCTYPE html><html><head>' |
501 '</head><body>' | 507 '</head><body>' |
502 '<polymer-element>3</polymer-element></body></html>', | 508 '<polymer-element>3</polymer-element></body></html>', |
503 }); | 509 }); |
504 } | 510 } |
| 511 |
| 512 void stylesheetTests() { |
| 513 |
| 514 testPhases('empty stylesheet', phases, { |
| 515 'a|web/test.html': |
| 516 '<!DOCTYPE html><html><head>' |
| 517 '<link rel="stylesheet" href="">' // empty href |
| 518 '</head></html>', |
| 519 'a|web/test2.html': |
| 520 '<!DOCTYPE html><html><head>' |
| 521 '<link rel="stylesheet">' // no href |
| 522 '</head></html>', |
| 523 }, { |
| 524 'a|web/test.html': |
| 525 '<!DOCTYPE html><html><head>' |
| 526 '<link rel="stylesheet" href="">' // empty href |
| 527 '</head></html>', |
| 528 'a|web/test.html.scriptUrls': '[]', |
| 529 'a|web/test2.html': |
| 530 '<!DOCTYPE html><html><head>' |
| 531 '<link rel="stylesheet">' // no href |
| 532 '</head></html>', |
| 533 'a|web/test2.html.scriptUrls': '[]', |
| 534 }); |
| 535 |
| 536 testPhases('absolute uri', phases, { |
| 537 'a|web/test.html': |
| 538 '<!DOCTYPE html><html><head>' |
| 539 '<link rel="stylesheet" href="/foo.css">' |
| 540 '</head></html>', |
| 541 'a|web/test2.html': |
| 542 '<!DOCTYPE html><html><head>' |
| 543 '<link rel="stylesheet" href="http://example.com/bar.css">' |
| 544 '</head></html>', |
| 545 }, { |
| 546 'a|web/test.html': |
| 547 '<!DOCTYPE html><html><head>' |
| 548 '<link rel="stylesheet" href="/foo.css">' |
| 549 '</head></html>', |
| 550 'a|web/test.html.scriptUrls': '[]', |
| 551 'a|web/test2.html': |
| 552 '<!DOCTYPE html><html><head>' |
| 553 '<link rel="stylesheet" href="http://example.com/bar.css">' |
| 554 '</head></html>', |
| 555 'a|web/test2.html.scriptUrls': '[]', |
| 556 }); |
| 557 |
| 558 testPhases('shallow, inlines css', phases, { |
| 559 'a|web/test.html': |
| 560 '<!DOCTYPE html><html><head>' |
| 561 '<link rel="stylesheet" href="test2.css">' |
| 562 '</head></html>', |
| 563 'a|web/test2.css': |
| 564 'h1 { font-size: 70px; }', |
| 565 }, { |
| 566 'a|web/test.html': |
| 567 '<!DOCTYPE html><html><head>' |
| 568 '<style>h1 { font-size: 70px; }</style>' |
| 569 '</head><body></body></html>', |
| 570 'a|web/test.html.scriptUrls': '[]', |
| 571 'a|web/test2.css': |
| 572 'h1 { font-size: 70px; }', |
| 573 }); |
| 574 |
| 575 testPhases('deep, inlines css', phases, { |
| 576 'a|web/test.html': |
| 577 '<!DOCTYPE html><html><head>' |
| 578 '<link rel="import" href="test2.html">' |
| 579 '</head></html>', |
| 580 'a|web/test2.html': |
| 581 '<polymer-element>2' |
| 582 '<link rel="stylesheet" href="assets/b/test3.css">' |
| 583 '</polymer-element>', |
| 584 'b|asset/test3.css': |
| 585 'body {\n background: #eaeaea url("assets/b/test4.png");\n}\n' |
| 586 '.foo {\n background: url("../../packages/c/test5.png");\n}', |
| 587 'b|asset/test4.png': 'PNG', |
| 588 'c|lib/test5.png': 'PNG', |
| 589 }, { |
| 590 'a|web/test.html': |
| 591 '<!DOCTYPE html><html><head></head><body>' |
| 592 '<polymer-element>2' |
| 593 '<style>' |
| 594 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' |
| 595 '.foo {\n background: url(packages/c/test5.png);\n}' |
| 596 '</style>' |
| 597 '</polymer-element>' |
| 598 '</body></html>', |
| 599 'a|web/test2.html': |
| 600 '<html><head></head><body>' |
| 601 '<polymer-element>2' |
| 602 '<style>' |
| 603 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' |
| 604 '.foo {\n background: url(packages/c/test5.png);\n}' |
| 605 '</style>' |
| 606 '</polymer-element>' |
| 607 '</body></html>', |
| 608 'b|asset/test3.css': |
| 609 'body {\n background: #eaeaea url("assets/b/test4.png");\n}\n' |
| 610 '.foo {\n background: url("../../packages/c/test5.png");\n}', |
| 611 'b|asset/test4.png': 'PNG', |
| 612 'c|lib/test5.png': 'PNG', |
| 613 }); |
| 614 } |
OLD | NEW |