Index: pkg/polymer/test/build/all_phases_test.dart |
diff --git a/pkg/polymer/test/build/all_phases_test.dart b/pkg/polymer/test/build/all_phases_test.dart |
index 2427976eeec7b2bde6d2c68c2a9f888cc1fd78ee..5ec31f3729820d8653503e5ec98cef7ab12794e6 100644 |
--- a/pkg/polymer/test/build/all_phases_test.dart |
+++ b/pkg/polymer/test/build/all_phases_test.dart |
@@ -6,8 +6,8 @@ library polymer.test.build.all_phases_test; |
import 'package:code_transformers/tests.dart' show testingDartSdkDirectory; |
import 'package:polymer/src/build/common.dart'; |
-import 'package:polymer/src/build/import_inliner.dart' show COMPONENT_WARNING; |
-import 'package:polymer/src/build/linter.dart' show USE_POLYMER_HTML; |
+import 'package:polymer/src/build/linter.dart' show USE_POLYMER_HTML, |
+ USE_INIT_DART, ONLY_ONE_TAG; |
import 'package:polymer/src/build/script_compactor.dart' show MAIN_HEADER; |
import 'package:polymer/transformer.dart'; |
import 'package:smoke/codegen/generator.dart' show DEFAULT_IMPORTS; |
@@ -23,7 +23,8 @@ void main() { |
testPhases('no changes', phases, { |
'a|web/test.html': '<!DOCTYPE html><html></html>', |
}, {}, [ |
- 'warning: $USE_POLYMER_HTML' |
+ 'warning: $USE_POLYMER_HTML', |
+ 'warning: $USE_INIT_DART' |
]); |
testPhases('observable changes', phases, { |
@@ -38,7 +39,7 @@ void main() { |
'a|web/test.html': |
'<!DOCTYPE html><html><head>' |
'<link rel="import" href="packages/polymer/polymer.html">' |
- '<script type="application/dart;component=1" src="a.dart"></script>', |
+ '<script type="application/dart" src="a.dart"></script>', |
'a|web/a.dart': _sampleInput('A', 'foo'), |
}, { |
'a|web/test.html': |
@@ -64,20 +65,21 @@ void main() { |
declarations: { |
smoke_0.XA: const {}, |
})); |
- startPolymer([ |
+ configureForDeployment([ |
i0.m_foo, |
() => Polymer.register('x-A', i0.XA), |
]); |
+ i0.main(); |
} |
'''.replaceAll('\n ', '\n'), |
'a|web/a.dart': _sampleOutput('A', 'foo'), |
- }); |
+ }, []); |
testPhases('single inline script', phases, { |
'a|web/test.html': |
'<!DOCTYPE html><html><head>' |
'<link rel="import" href="packages/polymer/polymer.html">' |
- '<script type="application/dart;component=1">' |
+ '<script type="application/dart">' |
'${_sampleInput("B", "bar")}</script>', |
}, { |
'a|web/test.html': |
@@ -103,144 +105,154 @@ void main() { |
declarations: { |
smoke_0.XB: const {}, |
})); |
- startPolymer([ |
+ configureForDeployment([ |
i0.m_bar, |
() => Polymer.register('x-B', i0.XB), |
]); |
+ i0.main(); |
} |
'''.replaceAll('\n ', '\n'), |
'a|web/test.html.0.dart': |
_sampleOutput("B", "bar"), |
}); |
- testPhases('several application scripts', phases, { |
+ testPhases('several scripts', phases, { |
'a|web/test.html': |
'<!DOCTYPE html><html><head>' |
- '<link rel="import" href="packages/polymer/polymer.html">' |
- '<script type="application/dart;component=1" src="a.dart"></script>' |
+ '<link rel="import" href="packages/polymer/polymer.html">\n' |
+ '<script type="application/dart" src="a.dart"></script>\n' |
'<script type="application/dart">' |
'${_sampleInput("B", "bar")}</script>' |
- '</head><body><div>' |
+ '</head><body><div>\n' |
'<script type="application/dart">' |
'${_sampleInput("C", "car")}</script>' |
- '</div>' |
+ '</div>\n' |
'<script type="application/dart" src="d.dart"></script>', |
'a|web/a.dart': _sampleInput('A', 'foo'), |
}, { |
'a|web/test.html': |
'<!DOCTYPE html><html><head>' |
- '$WEB_COMPONENTS_TAG' |
+ '$WEB_COMPONENTS_TAG\n\n' |
'</head><body>' |
- '<script src="test.html.0.dart.js"></script>' |
- '<div>' |
- '<script src="test.html.1.dart.js"></script>' |
- '</div>' |
- '<script src="d.dart.js"></script>' |
+ '<div>\n</div>\n' |
'<script src="test.html_bootstrap.dart.js"></script>' |
'</body></html>', |
- |
'a|web/test.html_bootstrap.dart': |
'''$MAIN_HEADER |
import 'a.dart' as i0; |
+ import 'test.html.0.dart' as i1; |
+ import 'test.html.1.dart' as i2; |
${DEFAULT_IMPORTS.join('\n')} |
import 'a.dart' as smoke_0; |
import 'package:polymer/polymer.dart' as smoke_1; |
+ import 'test.html.0.dart' as smoke_2; |
+ import 'test.html.1.dart' as smoke_3; |
void main() { |
useGeneratedCode(new StaticConfiguration( |
checkedMode: false, |
parents: { |
smoke_0.XA: smoke_1.PolymerElement, |
+ smoke_2.XB: smoke_1.PolymerElement, |
+ smoke_3.XC: smoke_1.PolymerElement, |
}, |
declarations: { |
smoke_0.XA: const {}, |
+ smoke_2.XB: const {}, |
+ smoke_3.XC: const {}, |
})); |
- startPolymer([ |
+ configureForDeployment([ |
i0.m_foo, |
() => Polymer.register('x-A', i0.XA), |
+ i1.m_bar, |
+ () => Polymer.register('x-B', i1.XB), |
+ i2.m_car, |
+ () => Polymer.register('x-C', i2.XC), |
]); |
+ i2.main(); |
} |
'''.replaceAll('\n ', '\n'), |
'a|web/a.dart': _sampleOutput('A', 'foo'), |
}, [ |
// These should not be emitted multiple times. See: |
// https://code.google.com/p/dart/issues/detail?id=17197 |
- 'warning: $COMPONENT_WARNING (web/test.html 14 27)', |
- 'warning: $COMPONENT_WARNING (web/test.html 28 15)' |
+ 'warning: $ONLY_ONE_TAG (web/test.html 2 0)', |
+ 'warning: $ONLY_ONE_TAG (web/test.html 18 0)', |
+ 'warning: $ONLY_ONE_TAG (web/test.html 34 0)', |
+ 'warning: Script file at "d.dart" not found. (web/test.html 34 0)', |
]); |
- testPhases('several component scripts', phases, { |
- 'a|web/test.html': |
+ testPhases('with imports', phases, { |
+ 'a|web/index.html': |
'<!DOCTYPE html><html><head>' |
'<link rel="import" href="packages/polymer/polymer.html">' |
- '<script type="application/dart;component=1" src="a.dart"></script>' |
- '<script type="application/dart;component=1">' |
- '${_sampleInput("B", "bar")}</script>' |
- '</head><body><div>' |
- '<script type="application/dart;component=1">' |
- '${_sampleInput("C", "car")}</script>' |
- '</div>', |
- 'a|web/a.dart': _sampleInput('A', 'foo'), |
+ '<link rel="import" href="packages/a/test2.html">' |
+ '</head><body>' |
+ '<script type="application/dart" src="b.dart"></script>', |
+ 'a|web/b.dart': _sampleInput('B', 'bar'), |
+ 'a|lib/test2.html': |
+ '<!DOCTYPE html><html><head></head><body>' |
+ '<polymer-element name="x-a">1' |
+ '<script type="application/dart">' |
+ '${_sampleInput("A", "foo")}</script>' |
+ '</polymer-element></html>', |
}, { |
- 'a|web/test.html': |
+ 'a|web/index.html': |
'<!DOCTYPE html><html><head>' |
'$WEB_COMPONENTS_TAG' |
- '</head><body>' |
- '<div></div>' |
- '<script src="test.html_bootstrap.dart.js"></script>' |
+ '</head><body><polymer-element name="x-a">1</polymer-element>' |
+ '<script src="index.html_bootstrap.dart.js"></script>' |
'</body></html>', |
- |
- 'a|web/test.html_bootstrap.dart': |
+ 'a|web/index.html_bootstrap.dart': |
'''$MAIN_HEADER |
- import 'a.dart' as i0; |
- import 'test.html.0.dart' as i1; |
- import 'test.html.1.dart' as i2; |
+ import 'index.html.0.dart' as i0; |
+ import 'b.dart' as i1; |
${DEFAULT_IMPORTS.join('\n')} |
- import 'a.dart' as smoke_0; |
+ import 'index.html.0.dart' as smoke_0; |
import 'package:polymer/polymer.dart' as smoke_1; |
- import 'test.html.0.dart' as smoke_2; |
- import 'test.html.1.dart' as smoke_3; |
+ import 'b.dart' as smoke_2; |
void main() { |
useGeneratedCode(new StaticConfiguration( |
checkedMode: false, |
parents: { |
- smoke_0.XA: smoke_1.PolymerElement, |
smoke_2.XB: smoke_1.PolymerElement, |
- smoke_3.XC: smoke_1.PolymerElement, |
+ smoke_0.XA: smoke_1.PolymerElement, |
}, |
declarations: { |
- smoke_0.XA: const {}, |
smoke_2.XB: const {}, |
- smoke_3.XC: const {}, |
+ smoke_0.XA: const {}, |
})); |
- startPolymer([ |
+ configureForDeployment([ |
i0.m_foo, |
() => Polymer.register('x-A', i0.XA), |
i1.m_bar, |
() => Polymer.register('x-B', i1.XB), |
- i2.m_car, |
- () => Polymer.register('x-C', i2.XC), |
]); |
+ i1.main(); |
} |
'''.replaceAll('\n ', '\n'), |
- 'a|web/a.dart': _sampleOutput('A', 'foo'), |
+ 'a|web/index.html.0.dart': _sampleOutput("A", "foo"), |
+ 'a|web/b.dart': _sampleOutput('B', 'bar'), |
}, []); |
- testPhases('with imports', phases, { |
+ testPhases('experimental bootstrap', phases, { |
'a|web/index.html': |
'<!DOCTYPE html><html><head>' |
- '<link rel="import" href="packages/polymer/polymer.html">' |
- '<link rel="import" href="test2.html">' |
- '</head><body>' |
- '<script type="application/dart;component=1" src="b.dart"></script>', |
- 'a|web/b.dart': _sampleInput('B', 'bar'), |
- 'a|web/test2.html': |
+ '<link rel="import" ' |
+ 'href="packages/polymer/polymer_experimental.html">' |
+ '<link rel="import" href="packages/a/test2.html">' |
+ '<link rel="import" href="packages/a/load_b.html">', |
+ 'a|lib/b.dart': _sampleInput('B', 'bar'), |
+ 'a|lib/test2.html': |
'<!DOCTYPE html><html><head></head><body>' |
'<polymer-element name="x-a">1' |
- '<script type="application/dart;component=1">' |
+ '<script type="application/dart">' |
'${_sampleInput("A", "foo")}</script>' |
'</polymer-element></html>', |
+ 'a|lib/load_b.html': |
+ '<!DOCTYPE html><html><head></head><body>' |
+ '<script type="application/dart" src="b.dart"></script>', |
}, { |
'a|web/index.html': |
'<!DOCTYPE html><html><head>' |
@@ -251,22 +263,22 @@ void main() { |
'a|web/index.html_bootstrap.dart': |
'''$MAIN_HEADER |
import 'index.html.0.dart' as i0; |
- import 'b.dart' as i1; |
+ import 'package:a/b.dart' as i1; |
${DEFAULT_IMPORTS.join('\n')} |
import 'index.html.0.dart' as smoke_0; |
import 'package:polymer/polymer.dart' as smoke_1; |
- import 'b.dart' as smoke_2; |
+ import 'package:a/b.dart' as smoke_2; |
void main() { |
useGeneratedCode(new StaticConfiguration( |
checkedMode: false, |
parents: { |
- smoke_2.XB: smoke_1.PolymerElement, |
smoke_0.XA: smoke_1.PolymerElement, |
+ smoke_2.XB: smoke_1.PolymerElement, |
}, |
declarations: { |
- smoke_2.XB: const {}, |
smoke_0.XA: const {}, |
+ smoke_2.XB: const {}, |
})); |
startPolymer([ |
i0.m_foo, |
@@ -277,8 +289,8 @@ void main() { |
} |
'''.replaceAll('\n ', '\n'), |
'a|web/index.html.0.dart': _sampleOutput("A", "foo"), |
- 'a|web/b.dart': _sampleOutput('B', 'bar'), |
- }); |
+ 'a|lib/b.dart': _sampleOutput('B', 'bar'), |
+ }, []); |
} |
String _sampleInput(String className, String fieldName) => ''' |
@@ -296,6 +308,7 @@ class X${className} extends PolymerElement { |
X${className}.created() : super.created(); |
} |
@initMethod m_$fieldName() {} |
+main() {} |
'''; |
@@ -321,5 +334,6 @@ class X${className} extends PolymerElement { |
X${className}.created() : super.created(); |
} |
@initMethod m_$fieldName() {} |
+main() {} |
'''; |
} |