| Index: pkg/polymer/test/build/code_extractor.dart
|
| diff --git a/pkg/polymer/test/build/code_extractor.dart b/pkg/polymer/test/build/code_extractor.dart
|
| index 813d13d80a3858ac0b96b17b7b23d21e4ab1fd10..d9ffad278e075708a426d49b1a17dbc847e378db 100644
|
| --- a/pkg/polymer/test/build/code_extractor.dart
|
| +++ b/pkg/polymer/test/build/code_extractor.dart
|
| @@ -20,22 +20,8 @@ void codeExtractorTests() {
|
| }, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart" src="test.html.0.dart"></script>'
|
| '</body></html>',
|
| -
|
| - 'a|web/test.html.0.dart':
|
| - 'library a.web.test_html_0;\nmain() { }',
|
| - });
|
| -
|
| - testPhases('component script, no library in script', phases, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head>'
|
| - '<script type="application/dart;component=1">main() { }</script>',
|
| - }, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head></head><body>'
|
| - '</body></html>',
|
| -
|
| + 'a|web/test.html._data': expectedData(['web/test.html.0.dart']),
|
| 'a|web/test.html.0.dart':
|
| 'library a.web.test_html_0;\nmain() { }',
|
| });
|
| @@ -47,9 +33,8 @@ void codeExtractorTests() {
|
| }, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart" src="test.html.0.dart"></script>'
|
| '</body></html>',
|
| -
|
| + 'a|web/test.html._data': expectedData(['web/test.html.0.dart']),
|
| 'a|web/test.html.0.dart':
|
| 'library f;\nmain() { }',
|
| });
|
| @@ -57,18 +42,14 @@ void codeExtractorTests() {
|
| testPhases('under lib/ directory not transformed', phases, {
|
| 'a|lib/test.html':
|
| '<!DOCTYPE html><html><head>'
|
| - '<script type="application/dart">library f;\nmain() { }</script>'
|
| - '<script type="application/dart;component=1">'
|
| - 'library g;\nmain() { }</script>',
|
| + '<script type="application/dart">library f;\nmain() { }</script>',
|
| }, {
|
| 'a|lib/test.html':
|
| '<!DOCTYPE html><html><head>'
|
| '<script type="application/dart">library f;\nmain() { }</script>'
|
| - '<script type="application/dart;component=1">'
|
| - 'library g;\nmain() { }</script>',
|
| });
|
|
|
| - testPhases('multiple scripts allowed', phases, {
|
| + testPhases('multiple scripts - removed', phases, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><head>'
|
| '<script type="application/dart">library a1;\nmain1() { }</script>'
|
| @@ -76,64 +57,15 @@ void codeExtractorTests() {
|
| }, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart" src="test.html.0.dart"></script>'
|
| - '<script type="application/dart" src="test.html.1.dart"></script>'
|
| '</body></html>',
|
| -
|
| + 'a|web/test.html._data': expectedData(
|
| + ['web/test.html.0.dart', 'web/test.html.1.dart']),
|
| 'a|web/test.html.0.dart':
|
| 'library a1;\nmain1() { }',
|
| 'a|web/test.html.1.dart':
|
| 'library a2;\nmain2() { }',
|
| });
|
|
|
| - testPhases('component scripts removed', phases, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head>'
|
| - '<script type="application/dart;component=1">'
|
| - 'library a1;\nmain1() { }</script>'
|
| - '<script type="application/dart;component=1">'
|
| - 'library a2;\nmain2() { }</script>',
|
| - }, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head></head><body>'
|
| - '</body></html>',
|
| - 'a|web/test.html.scriptUrls': JSON.encode([
|
| - ["a", "web/test.html.0.dart"],
|
| - ["a", "web/test.html.1.dart"]]),
|
| - 'a|web/test.html.0.dart':
|
| - 'library a1;\nmain1() { }',
|
| - 'a|web/test.html.1.dart':
|
| - 'library a2;\nmain2() { }',
|
| - });
|
| -
|
| - testPhases('multiple deeper scripts', phases, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head>'
|
| - '<script type="application/dart">main1() { }</script>'
|
| - '</head><body><div>'
|
| - '<script type="application/dart">main2() { }</script>'
|
| - '</div><div><div>'
|
| - '<script type="application/dart">main3() { }</script>'
|
| - '</div></div>'
|
| - }, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head>'
|
| - '</head><body>'
|
| - '<script type="application/dart" src="test.html.0.dart"></script>'
|
| - '<div>'
|
| - '<script type="application/dart" src="test.html.1.dart"></script>'
|
| - '</div><div><div>'
|
| - '<script type="application/dart" src="test.html.2.dart"></script>'
|
| - '</div></div></body></html>',
|
| -
|
| - 'a|web/test.html.0.dart':
|
| - 'library a.web.test_html_0;\nmain1() { }',
|
| - 'a|web/test.html.1.dart':
|
| - 'library a.web.test_html_1;\nmain2() { }',
|
| - 'a|web/test.html.2.dart':
|
| - 'library a.web.test_html_2;\nmain3() { }',
|
| - });
|
| -
|
| testPhases('multiple imported scripts', phases, {
|
| 'a|web/test.html':
|
| '<link rel="import" href="test2.html">'
|
| @@ -141,28 +73,40 @@ void codeExtractorTests() {
|
| '<link rel="import" href="packages/a/foo/test.html">'
|
| '<link rel="import" href="packages/b/test.html">',
|
| 'a|web/test2.html':
|
| - '<script type="application/dart;component=1">main1() { }',
|
| + '<script type="application/dart">main1() { }',
|
| 'a|web/bar/test.html':
|
| - '<script type="application/dart;component=1">main2() { }',
|
| + '<script type="application/dart">main2() { }',
|
| 'a|lib/foo/test.html':
|
| - '<script type="application/dart;component=1">main3() { }',
|
| + '<script type="application/dart">main3() { }',
|
| 'b|lib/test.html':
|
| - '<script type="application/dart;component=1">main4() { }'
|
| + '<script type="application/dart">main4() { }'
|
| }, {
|
| 'a|web/test.html':
|
| '<html><head></head><body></body></html>',
|
| - 'a|web/test.html.scriptUrls': JSON.encode([
|
| - ["a", "web/test.html.0.dart"],
|
| - ["a", "web/test.html.1.dart"],
|
| - ["a", "web/test.html.2.dart"],
|
| - ["a", "web/test.html.3.dart"],
|
| - ]),
|
| + 'a|web/test.html._data': expectedData(["web/test.html.0.dart",
|
| + "web/test.html.1.dart", "web/test.html.2.dart",
|
| + "web/test.html.3.dart"]),
|
| 'a|web/test.html.0.dart': 'library a.web.test2_html_0;\nmain1() { }',
|
| 'a|web/test.html.1.dart': 'library a.web.bar.test_html_1;\nmain2() { }',
|
| 'a|web/test.html.2.dart': 'library a.foo.test_html_2;\nmain3() { }',
|
| 'a|web/test.html.3.dart': 'library b.test_html_3;\nmain4() { }'
|
| });
|
|
|
| + testPhases('experimental bootstrap', phases, {
|
| + 'a|web/test.html':
|
| + '<link rel="import" '
|
| + 'href="packages/polymer/polymer_experimental.html">'
|
| + '<link rel="import" href="test2.html">',
|
| + 'a|web/test2.html':
|
| + '<script type="application/dart">main1() { }',
|
| + }, {
|
| + 'a|web/test.html':
|
| + '<html><head></head><body></body></html>',
|
| + 'a|web/test.html._data': expectedData(["web/test.html.0.dart"],
|
| + experimental: true),
|
| + 'a|web/test.html.0.dart': 'library a.web.test2_html_0;\nmain1() { }',
|
| + });
|
| +
|
| group('fixes import/export/part URIs', dartUriTests);
|
| group('validates script-tag URIs', validateUriTests);
|
| }
|
| @@ -185,10 +129,8 @@ dartUriTests() {
|
| '</body></html>',
|
| }, {
|
| 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart" src="test.html.0.dart"></script>'
|
| - '</body></html>',
|
| - 'a|web/test.html.scriptUrls': '[]',
|
| + '<!DOCTYPE html><html><head></head><body></body></html>',
|
| + 'a|web/test.html._data': expectedData(['web/test.html.0.dart']),
|
| 'a|web/test.html.0.dart':
|
| "library a.web.test2.foo_html_0;\n"
|
| "import 'package:qux/qux.dart';"
|
| @@ -197,44 +139,8 @@ dartUriTests() {
|
| "part 'test2/baz.dart';",
|
| 'a|web/test2/foo.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart" src="foo.html.0.dart"></script>'
|
| '</body></html>',
|
| - 'a|web/test2/foo.html.scriptUrls': '[]',
|
| - 'a|web/test2/foo.html.0.dart':
|
| - "library a.web.test2.foo_html_0;\n"
|
| - "import 'package:qux/qux.dart';"
|
| - "import 'foo.dart';"
|
| - "export 'bar.dart';"
|
| - "part 'baz.dart';",
|
| - });
|
| -
|
| - testPhases('from web folder, component', phases, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head>'
|
| - '<link rel="import" href="test2/foo.html">'
|
| - '</head><body></body></html>',
|
| - 'a|web/test2/foo.html':
|
| - '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart;component=1">'
|
| - "import 'package:qux/qux.dart';"
|
| - "import 'foo.dart';"
|
| - "export 'bar.dart';"
|
| - "part 'baz.dart';"
|
| - '</script>'
|
| - '</body></html>',
|
| - }, {
|
| - 'a|web/test.html':
|
| - '<!DOCTYPE html><html><head></head><body></body></html>',
|
| - 'a|web/test.html.scriptUrls': '[["a","web/test.html.0.dart"]]',
|
| - 'a|web/test.html.0.dart':
|
| - "library a.web.test2.foo_html_0;\n"
|
| - "import 'package:qux/qux.dart';"
|
| - "import 'test2/foo.dart';"
|
| - "export 'test2/bar.dart';"
|
| - "part 'test2/baz.dart';",
|
| - 'a|web/test2/foo.html':
|
| - '<!DOCTYPE html><html><head></head><body></body></html>',
|
| - 'a|web/test2/foo.html.scriptUrls': '[["a","web/test2/foo.html.0.dart"]]',
|
| + 'a|web/test2/foo.html._data': expectedData(['web/test2/foo.html.0.dart']),
|
| 'a|web/test2/foo.html.0.dart':
|
| "library a.web.test2.foo_html_0;\n"
|
| "import 'package:qux/qux.dart';"
|
| @@ -250,7 +156,7 @@ dartUriTests() {
|
| '</head><body></body></html>',
|
| 'a|lib/test2/foo.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart;component=1">'
|
| + '<script type="application/dart">'
|
| "import 'package:qux/qux.dart';"
|
| "import 'foo.dart';"
|
| "export 'bar.dart';"
|
| @@ -260,7 +166,7 @@ dartUriTests() {
|
| }, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><head></head><body></body></html>',
|
| - 'a|web/test.html.scriptUrls': '[["a","web/test.html.0.dart"]]',
|
| + 'a|web/test.html._data': expectedData(['web/test.html.0.dart']),
|
| 'a|web/test.html.0.dart':
|
| "library a.test2.foo_html_0;\n"
|
| "import 'package:qux/qux.dart';"
|
| @@ -269,7 +175,7 @@ dartUriTests() {
|
| "part 'package:a/test2/baz.dart';",
|
| 'a|lib/test2/foo.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart;component=1">'
|
| + '<script type="application/dart">'
|
| "import 'package:qux/qux.dart';"
|
| "import 'foo.dart';"
|
| "export 'bar.dart';"
|
| @@ -285,7 +191,7 @@ dartUriTests() {
|
| '</head><body></body></html>',
|
| 'b|lib/test2/foo.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart;component=1">'
|
| + '<script type="application/dart">'
|
| "import 'package:qux/qux.dart';"
|
| "import 'foo.dart';"
|
| "export 'bar.dart';"
|
| @@ -295,7 +201,7 @@ dartUriTests() {
|
| }, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><head></head><body></body></html>',
|
| - 'a|web/test.html.scriptUrls': '[["a","web/test.html.0.dart"]]',
|
| + 'a|web/test.html._data': expectedData(['web/test.html.0.dart']),
|
| 'a|web/test.html.0.dart':
|
| "library b.test2.foo_html_0;\n"
|
| "import 'package:qux/qux.dart';"
|
| @@ -304,7 +210,7 @@ dartUriTests() {
|
| "part 'package:b/test2/baz.dart';",
|
| 'b|lib/test2/foo.html':
|
| '<!DOCTYPE html><html><head></head><body>'
|
| - '<script type="application/dart;component=1">'
|
| + '<script type="application/dart">'
|
| "import 'package:qux/qux.dart';"
|
| "import 'foo.dart';"
|
| "export 'bar.dart';"
|
| @@ -319,31 +225,31 @@ validateUriTests() {
|
| testPhases('script is inline', phases, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><body>'
|
| - '<script type="application/dart;component=1">'
|
| + '<script type="application/dart">'
|
| 'main(){}'
|
| '</script>'
|
| '</body></html>',
|
| }, {
|
| - 'a|web/test.html.scriptUrls': '[["a","web/test.html.0.dart"]]',
|
| + 'a|web/test.html._data': expectedData(['web/test.html.0.dart']),
|
| }, []);
|
|
|
| testPhases('script src is valid', phases, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><body>'
|
| - '<script type="application/dart;component=1" src="a.dart"></script>'
|
| + '<script type="application/dart" src="a.dart"></script>'
|
| '</body></html>',
|
| 'a|web/a.dart': 'main() {}',
|
| }, {
|
| - 'a|web/test.html.scriptUrls': '[["a","web/a.dart"]]',
|
| + 'a|web/test.html._data': expectedData(['web/a.dart']),
|
| }, []);
|
|
|
| testPhases('script src is invalid', phases, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><body>\n'
|
| - '<script type="application/dart;component=1" src="a.dart"></script>'
|
| + '<script type="application/dart" src="a.dart"></script>'
|
| '</body></html>',
|
| }, {
|
| - 'a|web/test.html.scriptUrls': '[]',
|
| + 'a|web/test.html._data': EMPTY_DATA,
|
| }, [
|
| 'warning: Script file at "a.dart" not found. (web/test.html 1 0)',
|
| ]);
|
| @@ -351,15 +257,15 @@ validateUriTests() {
|
| testPhases('many script src around, valid and invalid', phases, {
|
| 'a|web/test.html':
|
| '<!DOCTYPE html><html><body>'
|
| - '<script type="application/dart;component=1" src="a.dart"></script>'
|
| - '\n<script type="application/dart;component=1" src="b.dart"></script>'
|
| - '\n<script type="application/dart;component=1" src="c.dart"></script>'
|
| - '\n<script type="application/dart;component=1" src="d.dart"></script>'
|
| + '<script type="application/dart" src="a.dart"></script>'
|
| + '\n<script type="application/dart" src="b.dart"></script>'
|
| + '\n<script type="application/dart" src="c.dart"></script>'
|
| + '\n<script type="application/dart" src="d.dart"></script>'
|
| '</body></html>',
|
| 'a|web/a.dart': 'main() {}',
|
| 'a|web/c.dart': 'main() {}',
|
| }, {
|
| - 'a|web/test.html.scriptUrls': '[["a","web/a.dart"],["a","web/c.dart"]]',
|
| + 'a|web/test.html._data': expectedData(['web/a.dart', 'web/c.dart']),
|
| }, [
|
| 'warning: Script file at "b.dart" not found. (web/test.html 1 0)',
|
| 'warning: Script file at "d.dart" not found. (web/test.html 3 0)',
|
|
|