Index: pkg/polymer/test/build/linter_test.dart |
diff --git a/pkg/polymer/test/build/linter_test.dart b/pkg/polymer/test/build/linter_test.dart |
index 341e23816279560792f6c80c0f2f1d8a480ec76f..e066960d7a95b274c7014f79bebe067a099708b9 100644 |
--- a/pkg/polymer/test/build/linter_test.dart |
+++ b/pkg/polymer/test/build/linter_test.dart |
@@ -15,7 +15,7 @@ void main() { |
'a|lib/test.html': '<!DOCTYPE html><html></html>', |
}, []); |
- group('must have import to polymer.html', () { |
+ group('must have proper initialization imports', () { |
_testLinter('nothing to report', { |
'a|web/test.html': '<!DOCTYPE html><html>' |
'<link rel="import" href="packages/polymer/polymer.html">' |
@@ -25,24 +25,54 @@ void main() { |
'</html>', |
}, []); |
- _testLinter('missing everything', { |
- 'a|web/test.html': '<!DOCTYPE html><html></html>', |
+ _testLinter('missing polymer.html', { |
+ 'a|web/test.html': '<!DOCTYPE html><html>' |
+ '<script type="application/dart" src="foo.dart">' |
+ '</script>' |
+ '<script src="packages/browser/dart.js"></script>' |
+ '</html>', |
}, [ |
'warning: $USE_POLYMER_HTML', |
]); |
- _testLinter('using deprecated boot.js', { |
- 'a|web/test.html': '<!DOCTYPE html><html>\n' |
- '<script src="packages/polymer/boot.js"></script>' |
+ _testLinter('missing Dart code', { |
+ 'a|web/test.html': '<!DOCTYPE html><html>' |
+ '<link rel="import" href="packages/polymer/polymer.html">' |
+ '<script src="packages/browser/dart.js"></script>' |
+ '</html>', |
+ }, [ |
+ 'warning: $USE_INIT_DART', |
+ ]); |
+ |
+ _testLinter('nothing to report, experimental with no Dart code', { |
+ 'a|web/test.html': '<!DOCTYPE html><html>' |
+ '<link rel="import" ' |
+ 'href="packages/polymer/polymer_experimental.html">' |
+ '<script src="packages/browser/dart.js"></script>' |
+ '</html>', |
+ }, []); |
+ |
+ _testLinter('experimental cannot have Dart code in main document', { |
+ 'a|web/test.html': '<!DOCTYPE html><html>' |
+ '<link rel="import" ' |
+ 'href="packages/polymer/polymer_experimental.html">\n' |
'<script type="application/dart" src="foo.dart">' |
'</script>' |
'<script src="packages/browser/dart.js"></script>' |
'</html>', |
}, [ |
+ 'warning: $NO_DART_SCRIPT_AND_EXPERIMENTAL (web/test.html 1 0)', |
+ ]); |
+ |
+ _testLinter('missing Dart code and polymer.html', { |
+ 'a|web/test.html': '<!DOCTYPE html><html></html>', |
+ }, [ |
'warning: $USE_POLYMER_HTML', |
+ 'warning: $USE_INIT_DART', |
]); |
}); |
- group('multiple script tag per document allowed', () { |
+ |
+ group('single script tag per document', () { |
_testLinter('two top-level tags', { |
'a|web/test.html': '<!DOCTYPE html><html>' |
'<link rel="import" href="packages/polymer/polymer.html">' |
@@ -50,8 +80,23 @@ void main() { |
'</script>\n' |
'<script type="application/dart" src="b.dart">' |
'</script>' |
+ '<script src="packages/browser/dart.js"></script>', |
+ }, [ |
+ 'warning: Only one "application/dart" script tag per document is' |
+ ' allowed. (web/test.html 1 0)', |
+ ]); |
+ |
+ _testLinter('two top-level tags, non entrypoint', { |
+ 'a|lib/test.html': '<!DOCTYPE html><html>' |
+ '<script type="application/dart" src="a.dart">' |
+ '</script>\n' |
+ '<script type="application/dart" src="b.dart">' |
+ '</script>' |
'<script src="packages/browser/dart.js"></script>' |
- }, []); |
+ }, [ |
+ 'warning: Only one "application/dart" script tag per document is' |
+ ' allowed. (lib/test.html 1 0)', |
+ ]); |
_testLinter('tags inside elements', { |
'a|web/test.html': '<!DOCTYPE html><html>' |
@@ -62,8 +107,11 @@ void main() { |
'</polymer-element>\n' |
'<script type="application/dart" src="b.dart">' |
'</script>' |
- '<script src="packages/browser/dart.js"></script>' |
- }, []); |
+ '<script src="packages/browser/dart.js"></script>', |
+ }, [ |
+ 'warning: Only one "application/dart" script tag per document is' |
+ ' allowed. (web/test.html 1 0)', |
+ ]); |
}); |
group('doctype warning', () { |
@@ -73,6 +121,7 @@ void main() { |
'warning: Unexpected start tag (html). Expected DOCTYPE. ' |
'(web/test.html 0 0)', |
'warning: $USE_POLYMER_HTML', |
+ 'warning: $USE_INIT_DART', |
]); |
_testLinter('in lib', { |
@@ -210,8 +259,8 @@ void main() { |
<script src="foo.dart"></script> |
</html>'''.replaceAll(' ', ''), |
}, [ |
- 'warning: Wrong script type, expected type="application/dart" or' |
- ' type="application/dart;component=1". (lib/test.html 1 0)' |
+ 'warning: Wrong script type, expected type="application/dart".' |
+ ' (lib/test.html 1 0)' |
]); |
_testLinter('in polymer-element, .dart url', { |
@@ -221,8 +270,8 @@ void main() { |
</polymer-element> |
</html>'''.replaceAll(' ', ''), |
}, [ |
- 'warning: Wrong script type, expected type="application/dart" or' |
- ' type="application/dart;component=1". (lib/test.html 2 0)' |
+ 'warning: Wrong script type, expected type="application/dart".' |
+ ' (lib/test.html 2 0)' |
]); |
_testLinter('in polymer-element, .js url', { |