Index: packages/web_components/test/build/import_inliner_test.dart |
diff --git a/packages/web_components/test/build/import_inliner_test.dart b/packages/web_components/test/build/import_inliner_test.dart |
index f0dbef62fecf9f1c1d2d0ef5b72be50a50bf1860..94eb40fd5444f361fbf8b556486a192269c641d6 100644 |
--- a/packages/web_components/test/build/import_inliner_test.dart |
+++ b/packages/web_components/test/build/import_inliner_test.dart |
@@ -1,47 +1,58 @@ |
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
+@TestOn('vm') |
library web_components.test.build.import_inliner_test; |
-import 'package:code_transformers/tests.dart'; |
+import 'package:transformer_test/utils.dart'; |
import 'package:web_components/build/import_inliner.dart'; |
import 'package:web_components/build/messages.dart'; |
-import 'package:unittest/compact_vm_config.dart'; |
-import 'package:unittest/unittest.dart'; |
+import 'package:test/test.dart'; |
var transformer = new ImportInlinerTransformer(null, ['{{', '[[']); |
-var phases = [[transformer]]; |
+var phases = [ |
+ [transformer] |
+]; |
main() { |
- useCompactVMConfiguration(); |
- |
group('rel=import', importTests); |
group('url attributes', urlAttributeTests); |
group('deep entrypoints', entryPointTests); |
+ // group('templates', templateTests); |
} |
void importTests() { |
- testPhases('no imports', phases, { |
- 'a|web/index.html': ''' |
+ testPhases( |
+ 'no imports', |
+ phases, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html><html><head></head><body></body></html>''', |
- }, { |
- 'a|web/index.html': ''' |
+ }, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html><html><head></head><body></body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('one import, removes dart script', phases, { |
- 'a|web/index.html': ''' |
+ testPhases( |
+ 'one import, removes dart script', |
+ phases, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html> |
<html> |
<head><link rel="import" href="packages/a/foo.html"></head> |
<body></body> |
</html>''', |
- 'a|lib/foo.html': ''' |
+ 'a|lib/foo.html': ''' |
<div>hello from foo!</div> |
<script type="application/dart" src="foo.dart"></script> |
''', |
- }, { |
- 'a|web/index.html': ''' |
+ }, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html> |
<html> |
<head></head> |
@@ -51,22 +62,28 @@ void importTests() { |
</div> |
</body> |
</html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('preserves order of scripts', phases, { |
- 'a|web/index.html': ''' |
+ testPhases( |
+ 'preserves order of scripts', |
+ phases, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html><html><head> |
<script type="text/javascript">/*first*/</script> |
<script src="second.js"></script> |
<link rel="import" href="packages/a/foo.html"> |
<script>/*forth*/</script> |
</head></html>''', |
- 'a|lib/foo.html': ''' |
+ 'a|lib/foo.html': ''' |
<!DOCTYPE html><html><head><script>/*third*/</script> |
</head><body><polymer-element>2</polymer-element></html>''', |
- 'a|web/second.js': '/*second*/' |
- }, { |
- 'a|web/index.html': ''' |
+ 'a|web/second.js': '/*second*/' |
+ }, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html><html><head> |
<script type="text/javascript">/*first*/</script> |
<script src="second.js"></script> |
@@ -77,10 +94,15 @@ void importTests() { |
<script>/*forth*/</script> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('preserves order of scripts, extract Dart scripts', phases, { |
- 'a|web/index.html': ''' |
+ testPhases( |
+ 'preserves order of scripts, extract Dart scripts', |
+ phases, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html> |
<html> |
<head> |
@@ -90,7 +112,7 @@ void importTests() { |
<script type="application/dart">/*fifth*/</script> |
</head> |
</html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html> |
<html> |
<head> |
@@ -101,9 +123,10 @@ void importTests() { |
<polymer-element>2</polymer-element> |
</body> |
</html>''', |
- 'a|web/second.js': '/*second*/' |
- }, { |
- 'a|web/index.html': ''' |
+ 'a|web/second.js': '/*second*/' |
+ }, |
+ { |
+ 'a|web/index.html': ''' |
<!DOCTYPE html> |
<html> |
<head> |
@@ -118,7 +141,7 @@ void importTests() { |
</div> |
</body> |
</html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html> |
<html> |
<head> |
@@ -129,40 +152,52 @@ void importTests() { |
<polymer-element>2</polymer-element> |
</body> |
</html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('no transformation outside web/', phases, { |
- 'a|lib/test.html': ''' |
+ testPhases( |
+ 'no transformation outside web/', |
+ phases, |
+ { |
+ 'a|lib/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test2.html"> |
</head></html>''', |
- 'a|lib/test2.html': ''' |
+ 'a|lib/test2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>2</polymer-element></html>''', |
- }, { |
- 'a|lib/test.html': ''' |
+ }, |
+ { |
+ 'a|lib/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test2.html"> |
</head></html>''', |
- 'a|lib/test2.html': ''' |
+ 'a|lib/test2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>2</polymer-element></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('shallow, elements, many', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'shallow, elements, many', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test2.html"> |
<link rel="import" href="test3.html"> |
</head></html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>2</polymer-element></html>''', |
- 'a|web/test3.html': ''' |
+ 'a|web/test3.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>3</polymer-element></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -170,32 +205,38 @@ void importTests() { |
<polymer-element>3</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>2</polymer-element></html>''', |
- 'a|web/test3.html': ''' |
+ 'a|web/test3.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>3</polymer-element></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('deep, elements, one per file', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'deep, elements, one per file', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test2.html"> |
</head></html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="assets/b/test3.html"> |
</head><body><polymer-element>2</polymer-element></html>''', |
- 'b|asset/test3.html': ''' |
+ 'b|asset/test3.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="../../packages/c/test4.html"> |
</head><body><polymer-element>3</polymer-element></html>''', |
- 'c|lib/test4.html': ''' |
+ 'c|lib/test4.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>4</polymer-element></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -204,7 +245,7 @@ void importTests() { |
<polymer-element>2</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -213,45 +254,51 @@ void importTests() { |
</div> |
<polymer-element>2</polymer-element> |
</body></html>''', |
- 'b|asset/test3.html': ''' |
+ 'b|asset/test3.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="../../packages/c/test4.html"> |
</head><body><polymer-element>3</polymer-element></html>''', |
- 'c|lib/test4.html': ''' |
+ 'c|lib/test4.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>4</polymer-element></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('deep, elements, many imports', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'deep, elements, many imports', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test2a.html"> |
<link rel="import" href="test2b.html"> |
</head></html>''', |
- 'a|web/test2a.html': ''' |
+ 'a|web/test2a.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test3a.html"> |
<link rel="import" href="test3b.html"> |
</head><body><polymer-element>2a</polymer-element></body></html>''', |
- 'a|web/test2b.html': ''' |
+ 'a|web/test2b.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test4a.html"> |
<link rel="import" href="test4b.html"> |
</head><body><polymer-element>2b</polymer-element></body></html>''', |
- 'a|web/test3a.html': ''' |
+ 'a|web/test3a.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>3a</polymer-element></body></html>''', |
- 'a|web/test3b.html': ''' |
+ 'a|web/test3b.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>3b</polymer-element></body></html>''', |
- 'a|web/test4a.html': ''' |
+ 'a|web/test4a.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>4a</polymer-element></body></html>''', |
- 'a|web/test4b.html': ''' |
+ 'a|web/test4b.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>4b</polymer-element></body></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -263,7 +310,7 @@ void importTests() { |
<polymer-element>2b</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test2a.html': ''' |
+ 'a|web/test2a.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -272,7 +319,7 @@ void importTests() { |
</div> |
<polymer-element>2a</polymer-element> |
</body></html>''', |
- 'a|web/test2b.html': ''' |
+ 'a|web/test2b.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -281,43 +328,49 @@ void importTests() { |
</div> |
<polymer-element>2b</polymer-element> |
</body></html>''', |
- 'a|web/test3a.html': ''' |
+ 'a|web/test3a.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<polymer-element>3a</polymer-element> |
</body></html>''', |
- 'a|web/test3b.html': ''' |
+ 'a|web/test3b.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<polymer-element>3b</polymer-element> |
</body></html>''', |
- 'a|web/test4a.html': ''' |
+ 'a|web/test4a.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<polymer-element>4a</polymer-element> |
</body></html>''', |
- 'a|web/test4b.html': ''' |
+ 'a|web/test4b.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<polymer-element>4b</polymer-element> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports cycle, 1-step lasso', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports cycle, 1-step lasso', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_2.html"> |
</head><body><polymer-element>1</polymer-element></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head><body><polymer-element>2</polymer-element></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -325,39 +378,45 @@ void importTests() { |
<polymer-element>1</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
<polymer-element>2</polymer-element> |
</div> |
<polymer-element>1</polymer-element></body></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
<polymer-element>1</polymer-element> |
</div> |
<polymer-element>2</polymer-element></body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports cycle, 1-step lasso, scripts too', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports cycle, 1-step lasso, scripts too', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_2.html"> |
</head><body><polymer-element>1</polymer-element> |
<script src="s1"></script></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head><body><polymer-element>2</polymer-element> |
<script src="s2"></script></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -367,7 +426,7 @@ void importTests() { |
<script src="s1"></script> |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -376,7 +435,7 @@ void importTests() { |
</div> |
<polymer-element>1</polymer-element> |
<script src="s1"></script></body></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -385,30 +444,36 @@ void importTests() { |
</div> |
<polymer-element>2</polymer-element> |
<script src="s2"></script></body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports cycle, 1-step lasso, Dart scripts too', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_2.html"> |
</head><body><polymer-element>1</polymer-element> |
<script type="application/dart" src="s1.dart"></script> |
</html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head><body><polymer-element>2 |
<script type="application/dart" src="s2.dart"></script> |
</polymer-element> |
</html>''', |
- 'a|web/s1.dart': '', |
- 'a|web/s2.dart': '', |
- }, { |
- 'a|web/test.html': ''' |
+ 'a|web/s1.dart': '', |
+ 'a|web/s2.dart': '', |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -416,7 +481,7 @@ void importTests() { |
<polymer-element>1</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -425,7 +490,7 @@ void importTests() { |
<polymer-element>1</polymer-element> |
<script type="application/dart" src="s1.dart"></script> |
</body></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -435,14 +500,19 @@ void importTests() { |
<script type="application/dart" src="s2.dart"></script> |
</polymer-element> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports with Dart script after JS script', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports with Dart script after JS script', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head><body> |
@@ -452,9 +522,10 @@ void importTests() { |
<script type="application/dart" src="s1.dart"></script> |
</polymer-element> |
'FOO'</body></html>''', |
- 'a|web/s1.dart': '', |
- }, { |
- 'a|web/test.html': ''' |
+ 'a|web/s1.dart': '', |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -465,7 +536,7 @@ void importTests() { |
'FOO' |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<foo>42</foo><bar-baz></bar-baz> |
@@ -474,27 +545,33 @@ void importTests() { |
<script type="application/dart" src="s1.dart"></script> |
</polymer-element> |
'FOO'</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports cycle, 2-step lasso', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports cycle, 2-step lasso', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_2.html"> |
</head><body><polymer-element>1</polymer-element></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_3.html"> |
</head><body><polymer-element>2</polymer-element></html>''', |
- 'a|web/test_3.html': ''' |
+ 'a|web/test_3.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head><body><polymer-element>3</polymer-element></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -503,7 +580,7 @@ void importTests() { |
<polymer-element>1</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -511,7 +588,7 @@ void importTests() { |
<polymer-element>2</polymer-element> |
</div> |
<polymer-element>1</polymer-element></body></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -519,7 +596,7 @@ void importTests() { |
<polymer-element>3</polymer-element> |
</div> |
<polymer-element>2</polymer-element></body></html>''', |
- 'a|web/test_3.html': ''' |
+ 'a|web/test_3.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -527,50 +604,62 @@ void importTests() { |
<polymer-element>1</polymer-element> |
</div> |
<polymer-element>3</polymer-element></body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports cycle, self cycle', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports cycle, self cycle', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
</head><body><polymer-element>1</polymer-element></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
<polymer-element>1</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<polymer-element>1</polymer-element></body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('imports DAG', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'imports DAG', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_1.html"> |
<link rel="import" href="test_2.html"> |
</head></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_3.html"> |
</head><body><polymer-element>1</polymer-element></body></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="test_3.html"> |
</head><body><polymer-element>2</polymer-element></body></html>''', |
- 'a|web/test_3.html': ''' |
+ 'a|web/test_3.html': ''' |
<!DOCTYPE html><html><head> |
</head><body><polymer-element>3</polymer-element></body></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
@@ -579,254 +668,390 @@ void importTests() { |
<polymer-element>2</polymer-element> |
</div> |
</body></html>''', |
- 'a|web/test_1.html': ''' |
+ 'a|web/test_1.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
<polymer-element>3</polymer-element> |
</div> |
<polymer-element>1</polymer-element></body></html>''', |
- 'a|web/test_2.html': ''' |
+ 'a|web/test_2.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<div hidden=""> |
<polymer-element>3</polymer-element> |
</div> |
<polymer-element>2</polymer-element></body></html>''', |
- 'a|web/test_3.html': ''' |
+ 'a|web/test_3.html': ''' |
<!DOCTYPE html><html><head> |
</head><body> |
<polymer-element>3</polymer-element></body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('missing html imports throw errors', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'missing html imports throw errors', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="foo.html"> |
</head></html>''', |
- }, {}, [ |
- 'warning: ${inlineImportFail.create({ |
+ }, |
+ {}, |
+ messages: [ |
+ 'warning: ${inlineImportFail.create({ |
'error': 'Could not find asset a|web/foo.html.' |
}).snippet} ' |
- '(web/test.html 1 8)', |
- ], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ '(web/test.html 1 8)', |
+ ], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('absolute uri', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'absolute uri', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="stylesheet" href="/foo.css"> |
</head></html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html><html><head> |
- <link rel="stylesheet" href="http://example.com/bar.css"> |
+ <link rel="stylesheet" href="http:example.com/bar.css"> |
</head></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="stylesheet" href="/foo.css"> |
</head></html>''', |
- 'a|web/test2.html': ''' |
+ 'a|web/test2.html': ''' |
<!DOCTYPE html><html><head> |
- <link rel="stylesheet" href="http://example.com/bar.css"> |
+ <link rel="stylesheet" href="http:example.com/bar.css"> |
</head></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
} |
void urlAttributeTests() { |
- testPhases('url attributes are normalized', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'url attributes are normalized', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="foo/test_1.html"> |
<link rel="import" href="foo/test_2.html"> |
</head></html>''', |
- 'a|web/foo/test_1.html': ''' |
+ 'a|web/foo/test_1.html': ''' |
<script src="baz.jpg"></script>''', |
- 'a|web/foo/test_2.html': ''' |
+ 'a|web/foo/test_2.html': ''' |
<foo-element src="baz.jpg"></foo-element>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<script src="foo/baz.jpg"></script> |
<foo-element src="baz.jpg"></foo-element> |
</div> |
</body></html>''', |
- 'a|web/foo/test_1.html': ''' |
+ 'a|web/foo/test_1.html': ''' |
<script src="baz.jpg"></script>''', |
- 'a|web/foo/test_2.html': ''' |
+ 'a|web/foo/test_2.html': ''' |
<foo-element src="baz.jpg"></foo-element>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('paths with an invalid prefix are not normalized', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'paths with an invalid prefix are not normalized', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="packages/a/test.html"> |
</head></html>''', |
- 'a|lib/test.html': ''' |
+ 'a|lib/test.html': ''' |
<img src="[[bar]]">''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<img src="[[bar]]"> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('relative paths followed by invalid characters are normalized', |
- phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'relative paths followed by invalid characters are normalized', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="foo/test.html"> |
</head></html>''', |
- 'a|web/foo/test.html': ''' |
+ 'a|web/foo/test.html': ''' |
<img src="baz/{{bar}}"> |
<img src="./{{bar}}">''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<img src="foo/baz/{{bar}}"> |
<img src="foo/{{bar}}"> |
</div> |
</body></html>''', |
- }, null, StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('relative paths in _* attributes are normalized', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'relative paths in _* attributes are normalized', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="foo/test.html"> |
</head></html>''', |
- 'a|web/foo/test.html': ''' |
+ 'a|web/foo/test.html': ''' |
<img _src="./{{bar}}"> |
<a _href="./{{bar}}">test</a>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<img _src="foo/{{bar}}"> |
<a _href="foo/{{bar}}">test</a> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('paths starting with a binding are treated as absolute', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'paths starting with a binding are treated as absolute', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="packages/a/foo.html"> |
</head></html>''', |
- 'a|lib/foo.html': ''' |
+ 'a|lib/foo.html': ''' |
<img _src="{{bar}}"> |
<img _src="[[bar]]">''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<img _src="{{bar}}"> |
<img _src="[[bar]]"> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('arbitrary bindings can exist in paths', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'arbitrary bindings can exist in paths', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<img src="./{{(bar[2] + baz[\'foo\']) * 14 / foobar() - 0.5}}.jpg"> |
<img src="./[[bar[2]]].jpg"> |
</body></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<img src="{{(bar[2] + baz[\'foo\']) * 14 / foobar() - 0.5}}.jpg"> |
<img src="[[bar[2]]].jpg"> |
</body></html>''', |
- }, null, StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('multiple bindings can exist in paths', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'multiple bindings can exist in paths', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<img src="./{{bar[0]}}/{{baz[1]}}.{{extension}}"> |
</body></html>''', |
- }, { |
- 'a|web/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<img src="{{bar[0]}}/{{baz[1]}}.{{extension}}"> |
</body></html>''', |
- }, null, StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('relative paths in deep imports', phases, { |
- 'a|web/test.html': ''' |
+ testPhases( |
+ 'relative paths in deep imports', |
+ phases, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="foo/foo.html"> |
</head></html>''', |
- 'a|web/foo/foo.html': ''' |
+ 'a|web/foo/foo.html': ''' |
<link rel="import" href="bar.html">''', |
- 'a|web/foo/bar.html': ''' |
+ 'a|web/foo/bar.html': ''' |
<style rel="stylesheet" href="baz.css"></style> |
<style rel="stylesheet" href="../css/zap.css"></style>''', |
- 'a|web/foo/baz.css': '', |
- 'a|web/css/zap.css': '', |
- }, { |
- 'a|web/test.html': ''' |
+ 'a|web/foo/baz.css': '', |
+ 'a|web/css/zap.css': '', |
+ }, |
+ { |
+ 'a|web/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<style rel="stylesheet" href="foo/baz.css"></style> |
<style rel="stylesheet" href="css/zap.css"></style> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
} |
void entryPointTests() { |
- testPhases('one level deep entry points normalize correctly', phases, { |
- 'a|web/test/test.html': ''' |
+ testPhases( |
+ 'one level deep entry points normalize correctly', |
+ phases, |
+ { |
+ 'a|web/test/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="../../packages/a/foo/foo.html"> |
</head></html>''', |
- 'a|lib/foo/foo.html': ''' |
+ 'a|lib/foo/foo.html': ''' |
<script rel="import" href="../../../packages/b/bar/bar.js"> |
</script>''', |
- 'b|lib/bar/bar.js': ''' |
+ 'b|lib/bar/bar.js': ''' |
console.log("here");''', |
- }, { |
- 'a|web/test/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<script rel="import" href="../packages/b/bar/bar.js"></script> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('includes in entry points normalize correctly', phases, { |
- 'a|web/test/test.html': ''' |
+ testPhases( |
+ 'includes in entry points normalize correctly', |
+ phases, |
+ { |
+ 'a|web/test/test.html': ''' |
<!DOCTYPE html><html><head> |
<script src="packages/a/foo/bar.js"></script> |
</head></html>''', |
- 'a|lib/foo/bar.js': ''' |
+ 'a|lib/foo/bar.js': ''' |
console.log("here");''', |
- }, { |
- 'a|web/test/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test/test.html': ''' |
<!DOCTYPE html><html><head> |
<script src="../packages/a/foo/bar.js"></script> |
</head><body> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
- testPhases('two level deep entry points normalize correctly', phases, { |
- 'a|web/test/well/test.html': ''' |
+ testPhases( |
+ 'two level deep entry points normalize correctly', |
+ phases, |
+ { |
+ 'a|web/test/well/test.html': ''' |
<!DOCTYPE html><html><head> |
<link rel="import" href="../../../packages/a/foo/foo.html"> |
</head></html>''', |
- 'a|lib/foo/foo.html': ''' |
+ 'a|lib/foo/foo.html': ''' |
<script rel="import" href="../../../packages/b/bar/bar.js"></script>''', |
- 'b|lib/bar/bar.js': ''' |
+ 'b|lib/bar/bar.js': ''' |
console.log("here");''', |
- }, { |
- 'a|web/test/well/test.html': ''' |
+ }, |
+ { |
+ 'a|web/test/well/test.html': ''' |
<!DOCTYPE html><html><head></head><body> |
<div hidden=""> |
<script rel="import" href="../../packages/b/bar/bar.js"></script> |
</div> |
</body></html>''', |
- }, [], StringFormatter.noNewlinesOrSurroundingWhitespace); |
+ }, |
+ messages: [], |
+ formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
} |
+ |
+// void templateTests() { |
+// testPhases('allows template inside table', phases, { |
+// 'a|web/index.html': ''' |
+// <!DOCTYPE html> |
+// <html> |
+// <head><link rel="import" href="packages/a/foo.html"></head> |
+// <body> |
+// <dom-module id="hello-element"> |
+// <template> |
+// <table> |
+// <thead> |
+// <tr><th>first</th><th>last</th></tr> |
+// </thead> |
+// <tbody> |
+// <template is="dom-repeat" items="{{data}}"> |
+// <tr> |
+// <td>{{item.first}}</td> |
+// <td>{{item.last}}</td> |
+// </tr> |
+// </template> |
+// </tbody> |
+// </table> |
+// </template> |
+// </dom-module> |
+// </body> |
+// </html>''', |
+// 'a|lib/foo.html': ''' |
+// <div>hello!</div> |
+// ''', |
+// }, { |
+// 'a|web/index.html': ''' |
+// <!DOCTYPE html> |
+// <html> |
+// <head></head> |
+// <body> |
+// <div hidden=""> |
+// <div>hello!</div> |
+// </div> |
+// <dom-module id="hello-element"> |
+// <template> |
+// <table> |
+// <thead> |
+// <tr><th>first</th><th>last</th></tr> |
+// </thead> |
+// <tbody> |
+// <template is="dom-repeat" items="{{data}}"> |
+// <tr> |
+// <td>{{item.first}}</td> |
+// <td>{{item.last}}</td> |
+// </tr> |
+// </template> |
+// </tbody> |
+// </table> |
+// </template> |
+// </dom-module> |
+// </body> |
+// </html>''', |
+// }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace); |
+// } |