| 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 4ec76776b0e8942253f877acd08fcb6ab1abeb5f..ab56d89143df3e2ab45b099181dadd6bbfb17b0b 100644
|
| --- a/pkg/polymer/test/build/linter_test.dart
|
| +++ b/pkg/polymer/test/build/linter_test.dart
|
| @@ -8,6 +8,7 @@ import 'dart:convert';
|
|
|
| import 'package:polymer/src/build/common.dart';
|
| import 'package:polymer/src/build/linter.dart';
|
| +import 'package:polymer/src/build/messages.dart';
|
| import 'package:unittest/unittest.dart';
|
|
|
| import 'common.dart';
|
| @@ -59,7 +60,7 @@ void main() {
|
|
|
| test('usePolymerHtmlMessage looks right', () {
|
| _check(int i, String url) {
|
| - expect(usePolymerHtmlMessage(i),
|
| + expect(_usePolymerHtmlMessage(i),
|
| contains('<link rel="import" href="$url">'));
|
| }
|
| _check(0, 'packages/polymer/polymer.html');
|
| @@ -76,7 +77,8 @@ void main() {
|
| '<script src="packages/browser/dart.js"></script>'
|
| '</html>',
|
| }, [
|
| - 'warning: ${usePolymerHtmlMessage(0)} (web/test.html 1 0)',
|
| + 'warning: ${_usePolymerHtmlMessage(0)} '
|
| + '(web/test.html 1 0)',
|
| ]);
|
|
|
| _testLinter('missing polymer.html in web/foo', {
|
| @@ -87,7 +89,8 @@ void main() {
|
| '<script src="packages/browser/dart.js"></script>'
|
| '</html>',
|
| }, [
|
| - 'warning: ${usePolymerHtmlMessage(1)} (web/foo/test.html 1 0)',
|
| + 'warning: ${_usePolymerHtmlMessage(1)} '
|
| + '(web/foo/test.html 1 0)',
|
| ]);
|
|
|
| _testLinter('missing polymer.html in lib', {
|
| @@ -98,7 +101,8 @@ void main() {
|
| '<script src="packages/browser/dart.js"></script>'
|
| '</html>',
|
| }, [
|
| - 'warning: ${usePolymerHtmlMessage(2)} (lib/test.html 1 0)',
|
| + 'warning: ${_usePolymerHtmlMessage(2)} '
|
| + '(lib/test.html 1 0)',
|
| ]);
|
|
|
| _testLinter('missing polymer.html in lib/foo/bar', {
|
| @@ -109,7 +113,8 @@ void main() {
|
| '<script src="packages/browser/dart.js"></script>'
|
| '</html>',
|
| }, [
|
| - 'warning: ${usePolymerHtmlMessage(4)} (lib/foo/bar/test.html 1 0)',
|
| + 'warning: ${_usePolymerHtmlMessage(4)} '
|
| + '(lib/foo/bar/test.html 1 0)',
|
| ]);
|
|
|
| _testLinter('missing Dart code', {
|
| @@ -118,7 +123,7 @@ void main() {
|
| '<script src="packages/browser/dart.js"></script>'
|
| '</html>',
|
| }, [
|
| - 'warning: $USE_INIT_DART',
|
| + 'warning: ${useInitDart.snippet}',
|
| ]);
|
|
|
| _testLinter('nothing to report, experimental with no Dart code', {
|
| @@ -138,13 +143,13 @@ void main() {
|
| '<script src="packages/browser/dart.js"></script>'
|
| '</html>',
|
| }, [
|
| - 'warning: $NO_DART_SCRIPT_AND_EXPERIMENTAL (web/test.html 1 0)',
|
| + 'warning: ${noDartScriptAndExperimental.snippet} (web/test.html 1 0)',
|
| ]);
|
|
|
| _testLinter('missing Dart code and polymer.html', {
|
| 'a|web/test.html': '<!DOCTYPE html><html></html>',
|
| }, [
|
| - 'warning: $USE_INIT_DART',
|
| + 'warning: ${useInitDart.snippet}',
|
| ]);
|
| });
|
|
|
| @@ -194,9 +199,9 @@ void main() {
|
| _testLinter('in web', {
|
| 'a|web/test.html': '<html></html>',
|
| }, [
|
| - 'warning: Unexpected start tag (html). Expected DOCTYPE. '
|
| - '(web/test.html 0 0)',
|
| - 'warning: $USE_INIT_DART',
|
| + 'warning: (from html5lib) Unexpected start tag (html). '
|
| + 'Expected DOCTYPE. (web/test.html 0 0)',
|
| + 'warning: ${useInitDart.snippet}',
|
| ]);
|
|
|
| _testLinter('in lib', {
|
| @@ -214,7 +219,7 @@ void main() {
|
| }, [
|
| 'warning: duplicate definition for custom tag "x-a". '
|
| '(lib/test.html 2 0)',
|
| - 'warning: duplicate definition for custom tag "x-a" '
|
| + 'warning: duplicate definition for custom tag "x-a". '
|
| '(second definition). (lib/test.html 3 0)'
|
| ]);
|
|
|
| @@ -230,7 +235,7 @@ void main() {
|
| }, [
|
| 'warning: duplicate definition for custom tag "x-a". '
|
| '(lib/b.html 2 0)',
|
| - 'warning: duplicate definition for custom tag "x-a" '
|
| + 'warning: duplicate definition for custom tag "x-a". '
|
| '(second definition). (lib/test.html 2 0)'
|
| ]);
|
|
|
| @@ -257,7 +262,7 @@ void main() {
|
| }, [
|
| 'warning: duplicate definition for custom tag "x-a". '
|
| '(package:b/b.html 2 0)',
|
| - 'warning: duplicate definition for custom tag "x-a" '
|
| + 'warning: duplicate definition for custom tag "x-a". '
|
| '(second definition). (lib/test.html 2 0)'
|
| ]);
|
| });
|
| @@ -309,7 +314,7 @@ void main() {
|
| </polymer-element>
|
| </html>'''.replaceAll(' ', ''),
|
| }, [
|
| - 'error: $NO_IMPORT_WITHIN_ELEMENT (lib/test.html 3 2)'
|
| + 'error: ${noImportWithinElement.snippet} (lib/test.html 3 2)'
|
| ]);
|
|
|
| _testLinter('need a name for <polymer-element>', {
|
| @@ -507,15 +512,15 @@ void main() {
|
| _testLinter('tag exists (x-tag)', {
|
| 'a|lib/test.html': '<x-foo></x-foo>',
|
| }, [
|
| - 'warning: definition for Polymer element with tag name "x-foo" not '
|
| - 'found. (lib/test.html 0 0)'
|
| + 'warning: custom element with name "x-foo" not found. '
|
| + '(lib/test.html 0 0)'
|
| ]);
|
|
|
| _testLinter('tag exists (type extension)', {
|
| 'a|lib/test.html': '<div is="x-foo"></div>',
|
| }, [
|
| - 'warning: definition for Polymer element with tag name "x-foo" not '
|
| - 'found. (lib/test.html 0 0)'
|
| + 'warning: custom element with name "x-foo" not found. '
|
| + '(lib/test.html 0 0)'
|
| ]);
|
|
|
| _testLinter('tag exists (internally defined in code)', {
|
| @@ -662,23 +667,40 @@ void main() {
|
| '</html>',
|
| }, {
|
| 'a|web/test.html._buildLogs.1':
|
| - '[{'
|
| + '{"polymer_3":[{'
|
| '"level":"Warning",'
|
| - '"message":${JSON.encode(const HtmlEscape().convert(
|
| - usePolymerHtmlMessage(0)))},'
|
| + '"message":{'
|
| + '"id":"polymer_3",'
|
| + '"snippet":"${_usePolymerHtmlMessage(0).replaceAll('"','\\"')}"'
|
| + '},'
|
| '"span":{'
|
| - '"location":"web/test.html:2:1",'
|
| - '"text":'
|
| - '"${const HtmlEscape().convert('<polymer-element name="x-a">')}"'
|
| + '"start":{'
|
| + '"url":"web/test.html",'
|
| + '"offset":22,'
|
| + '"line":1,'
|
| + '"column":0'
|
| + '},'
|
| + '"end":{'
|
| + '"url":"web/test.html",'
|
| + '"offset":50,'
|
| + '"line":1,'
|
| + '"column":28'
|
| + '},'
|
| + '"text":"<polymer-element name=\\"x-a\\">"'
|
| '}'
|
| - '}]',
|
| + '}]}',
|
| }, [
|
| // Logs should still make it to barback too.
|
| - 'warning: ${usePolymerHtmlMessage(0)} (web/test.html 1 0)',
|
| + 'warning: ${_usePolymerHtmlMessage(0)} (web/test.html 1 0)',
|
| ]);
|
| });
|
| }
|
|
|
| +_usePolymerHtmlMessage(int i) {
|
| + var prefix = '../' * i;
|
| + return usePolymerHtmlMessage.create({'reachOutPrefix': prefix}).snippet;
|
| +}
|
| +
|
| _testLinter(String name, Map inputFiles, List outputMessages,
|
| [bool solo = false]) {
|
| var outputFiles = {};
|
|
|