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

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

Issue 427623002: Polymer transformer logs now show on the frontend for pub serve. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: dont wrap the logger in release mode Created 6 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 | Annotate | Revision Log
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' show JSON; 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';
11 import 'package:unittest/unittest.dart'; 11 import 'package:unittest/unittest.dart';
12 import 'common.dart'; 12 import 'common.dart';
13 13
14 part 'code_extractor.dart'; 14 part 'code_extractor.dart';
15 15
16 final phases = [[new ImportInliner(new TransformOptions())]]; 16 final phases = [[new ImportInliner(new TransformOptions())]];
17 17
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 '<!DOCTYPE html><html><head>' 647 '<!DOCTYPE html><html><head>'
648 '</head><body>' 648 '</head><body>'
649 '<polymer-element>3</polymer-element>' 649 '<polymer-element>3</polymer-element>'
650 '<polymer-element>2</polymer-element></body></html>', 650 '<polymer-element>2</polymer-element></body></html>',
651 'a|web/test_3.html': 651 'a|web/test_3.html':
652 '<!DOCTYPE html><html><head>' 652 '<!DOCTYPE html><html><head>'
653 '</head><body>' 653 '</head><body>'
654 '<polymer-element>3</polymer-element></body></html>', 654 '<polymer-element>3</polymer-element></body></html>',
655 }); 655 });
656 656
657 testPhases("missing styles don't throw errors and are not inlined", phases, { 657 testLogOutput(
658 'a|web/test.html': 658 (options) => new ImportInliner(options),
659 '<!DOCTYPE html><html><head>' 659 "missing styles don't throw errors and are not inlined", {
660 '<link rel="stylesheet" href="foo.css">' 660 'a|web/test.html':
661 '</head></html>', 661 '<!DOCTYPE html><html><head>'
662 }, { 662 '<link rel="stylesheet" href="foo.css">'
663 'a|web/test.html': 663 '</head></html>',
664 '<!DOCTYPE html><html><head></head><body>' 664 }, {
665 '<link rel="stylesheet" href="foo.css">' 665 'a|web/test.html':
666 '</body></html>', 666 '<!DOCTYPE html><html><head></head><body>'
667 }, [ 667 '<link rel="stylesheet" href="foo.css">'
668 'warning: Failed to inline stylesheet: ' 668 '</body></html>',
669 'Could not find asset a|web/foo.css. (web/test.html 0 27)', 669 }, [
670 ]); 670 'warning: Failed to inline stylesheet: '
671 'Could not find asset a|web/foo.css. (web/test.html 0 27)',
672 ]);
671 673
672 testPhases("missing html imports throw errors", phases, { 674 testLogOutput(
673 'a|web/test.html': 675 (options) => new ImportInliner(options),
674 '<!DOCTYPE html><html><head>' 676 "missing html imports throw errors", {
675 '<link rel="import" href="foo.html">' 677 'a|web/test.html':
676 '</head></html>', 678 '<!DOCTYPE html><html><head>'
677 }, {}, [ 679 '<link rel="import" href="foo.html">'
678 'error: Failed to inline html import: ' 680 '</head></html>',
679 'Could not find asset a|web/foo.html. (web/test.html 0 27)', 681 }, {
680 ]); 682 'a|web/test.html._buildLogs.1':
683 '[{'
684 '"level":"Error",'
685 '"message":"Failed to inline html import: '
686 'Could not find asset a|web/foo.html.",'
687 '"assetId":{"package":"a","path":"web/foo.html"},'
688 '"span":{'
689 '"location":"web/test.html:1:28",'
690 '"text":"${new HtmlEscape().convert(
691 '<link rel="import" href="foo.html">')}"'
692 '}'
693 '}]',
694 }, [
695 'error: Failed to inline html import: '
696 'Could not find asset a|web/foo.html. (web/test.html 0 27)',
697 ]);
681 } 698 }
682 699
683 void stylesheetTests() { 700 void stylesheetTests() {
684 701
685 testPhases('empty stylesheet', phases, { 702 testPhases('empty stylesheet', phases, {
686 'a|web/test.html': 703 'a|web/test.html':
687 '<!DOCTYPE html><html><head>' 704 '<!DOCTYPE html><html><head>'
688 '<link rel="stylesheet" href="">' // empty href 705 '<link rel="stylesheet" href="">' // empty href
689 '</head></html>', 706 '</head></html>',
690 'a|web/test2.html': 707 'a|web/test2.html':
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 '<img _src="./{{bar}}">' 1002 '<img _src="./{{bar}}">'
986 '<a _href="./{{bar}}">test</a>', 1003 '<a _href="./{{bar}}">test</a>',
987 }, { 1004 }, {
988 'a|web/test.html': 1005 'a|web/test.html':
989 '<!DOCTYPE html><html><head></head><body>' 1006 '<!DOCTYPE html><html><head></head><body>'
990 '<img _src="foo/{{bar}}">' 1007 '<img _src="foo/{{bar}}">'
991 '<a _href="foo/{{bar}}">test</a>' 1008 '<a _href="foo/{{bar}}">test</a>'
992 '</body></html>', 1009 '</body></html>',
993 }); 1010 });
994 1011
995 testPhases('warnings are given about _* attributes', phases, {
996 'a|web/test.html':
997 '<!DOCTYPE html><html><head></head><body>'
998 '<img src="foo/{{bar}}">'
999 '<a _href="foo/bar">test</a>'
1000 '</body></html>',
1001 }, {}, [
1002 'warning: When using bindings with the "src" attribute you may '
1003 'experience errors in certain browsers. Please use the "_src" '
1004 'attribute instead. For more information, see http://goo.gl/5av8cU '
1005 '(web/test.html 0 40)',
1006 'warning: The "_href" attribute is only supported when using bindings. '
1007 'Please change to the "href" attribute. (web/test.html 0 63)',
1008 1012
1009 ]); 1013 testLogOutput(
1014 (options) => new ImportInliner(options),
1015 'warnings are given about _* attributes', {
1016 'a|web/test.html':
1017 '<!DOCTYPE html><html><head></head><body>'
1018 '<img src="foo/{{bar}}">'
1019 '<a _href="foo/bar">test</a>'
1020 '</body></html>',
1021 }, {}, [
1022 'warning: When using bindings with the "src" attribute you may '
1023 'experience errors in certain browsers. Please use the "_src" '
1024 'attribute instead. For more information, see '
1025 'http://goo.gl/5av8cU (web/test.html 0 40)',
1026 'warning: The "_href" attribute is only supported when using '
1027 'bindings. Please change to the "href" attribute. '
1028 '(web/test.html 0 63)',
1029
1030 ]);
1010 1031
1011 testPhases('arbitrary bindings can exist in paths', phases, { 1032 testPhases('arbitrary bindings can exist in paths', phases, {
1012 'a|web/test.html': 1033 'a|web/test.html':
1013 '<!DOCTYPE html><html><head></head><body>' 1034 '<!DOCTYPE html><html><head></head><body>'
1014 '<img src="./{{(bar[2] + baz[\'foo\']) * 14 / foobar() - 0.5}}.jpg">' 1035 '<img src="./{{(bar[2] + baz[\'foo\']) * 14 / foobar() - 0.5}}.jpg">'
1015 '<img src="./[[bar[2]]].jpg">' 1036 '<img src="./[[bar[2]]].jpg">'
1016 '</body></html>', 1037 '</body></html>',
1017 }, { 1038 }, {
1018 'a|web/test.html': 1039 'a|web/test.html':
1019 '<!DOCTYPE html><html><head></head><body>' 1040 '<!DOCTYPE html><html><head></head><body>'
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 'a|lib/foo/foo.html': 1096 'a|lib/foo/foo.html':
1076 '<script rel="import" href="../../../packages/b/bar/bar.js"></script>', 1097 '<script rel="import" href="../../../packages/b/bar/bar.js"></script>',
1077 'b|lib/bar/bar.js': 1098 'b|lib/bar/bar.js':
1078 'console.log("here");', 1099 'console.log("here");',
1079 }, { 1100 }, {
1080 'a|web/test/well/test.html': 1101 'a|web/test/well/test.html':
1081 '<!DOCTYPE html><html><head></head><body>' 1102 '<!DOCTYPE html><html><head></head><body>'
1082 '<script rel="import" href="../../packages/b/bar/bar.js"></script>' 1103 '<script rel="import" href="../../packages/b/bar/bar.js"></script>'
1083 '</body></html>', 1104 '</body></html>',
1084 }); 1105 });
1085 } 1106 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698