Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library polymer.test.build.import_inliner_test; | 5 library polymer.test.build.import_inliner_test; |
| 6 | 6 |
| 7 import 'dart:convert'; | 7 import 'dart:convert'; |
| 8 import 'package:polymer/src/build/common.dart'; | 8 import 'package:polymer/src/build/common.dart'; |
| 9 import 'package:polymer/src/build/import_inliner.dart'; | 9 import 'package:polymer/src/build/import_inliner.dart'; |
| 10 import 'package:unittest/compact_vm_config.dart'; | 10 import 'package:unittest/compact_vm_config.dart'; |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 77 '<!DOCTYPE html><html><head>' | 77 '<!DOCTYPE html><html><head>' |
| 78 '<link rel="import" href="test2.html">' | 78 '<link rel="import" href="test2.html">' |
| 79 '</head></html>', | 79 '</head></html>', |
| 80 'a|web/test2.html': | 80 'a|web/test2.html': |
| 81 '<!DOCTYPE html><html><head>' | 81 '<!DOCTYPE html><html><head>' |
| 82 '</head><body><polymer-element>2</polymer-element></html>', | 82 '</head><body><polymer-element>2</polymer-element></html>', |
| 83 }, { | 83 }, { |
| 84 'a|web/test.html': | 84 'a|web/test.html': |
| 85 '<!DOCTYPE html><html><head>' | 85 '<!DOCTYPE html><html><head>' |
| 86 '</head><body>' | 86 '</head><body>' |
| 87 '<div hidden="">' | |
| 87 '<polymer-element>2</polymer-element>' | 88 '<polymer-element>2</polymer-element>' |
| 89 '</div>' | |
| 88 '</body></html>', | 90 '</body></html>', |
| 89 'a|web/test.html._data': EMPTY_DATA, | 91 'a|web/test.html._data': EMPTY_DATA, |
| 90 'a|web/test2.html': | 92 'a|web/test2.html': |
| 91 '<!DOCTYPE html><html><head>' | 93 '<!DOCTYPE html><html><head>' |
| 92 '</head><body><polymer-element>2</polymer-element></html>', | 94 '</head><body><polymer-element>2</polymer-element></html>', |
| 93 'a|web/test2.html._data': EMPTY_DATA, | 95 'a|web/test2.html._data': EMPTY_DATA, |
| 94 }); | 96 }); |
| 95 | 97 |
| 96 testPhases('preserves order of scripts', phases, | 98 testPhases('preserves order of scripts', phases, |
| 97 { | 99 { |
| 98 'a|web/test.html': | 100 'a|web/test.html': |
| 99 '<!DOCTYPE html><html><head>' | 101 '<!DOCTYPE html><html><head>' |
| 100 '<script type="text/javascript">/*first*/</script>' | 102 '<script type="text/javascript">/*first*/</script>' |
| 101 '<script src="second.js"></script>' | 103 '<script src="second.js"></script>' |
| 102 '<link rel="import" href="test2.html">' | 104 '<link rel="import" href="test2.html">' |
| 103 '<script>/*forth*/</script>' | 105 '<script>/*forth*/</script>' |
| 104 '</head></html>', | 106 '</head></html>', |
| 105 'a|web/test2.html': | 107 'a|web/test2.html': |
| 106 '<!DOCTYPE html><html><head><script>/*third*/</script>' | 108 '<!DOCTYPE html><html><head><script>/*third*/</script>' |
| 107 '</head><body><polymer-element>2</polymer-element></html>', | 109 '</head><body><polymer-element>2</polymer-element></html>', |
| 108 'a|web/second.js': '/*second*/' | 110 'a|web/second.js': '/*second*/' |
| 109 }, { | 111 }, { |
| 110 'a|web/test.html': | 112 'a|web/test.html': |
| 111 '<!DOCTYPE html><html><head>' | 113 '<!DOCTYPE html><html><head>' |
| 112 '</head><body>' | 114 '</head><body>' |
| 115 '<div hidden="">' | |
| 113 '<script type="text/javascript">/*first*/</script>' | 116 '<script type="text/javascript">/*first*/</script>' |
| 114 '<script src="second.js"></script>' | 117 '<script src="second.js"></script>' |
| 115 '<script>/*third*/</script>' | 118 '<script>/*third*/</script>' |
| 116 '<polymer-element>2</polymer-element>' | 119 '<polymer-element>2</polymer-element>' |
| 117 '<script>/*forth*/</script>' | 120 '<script>/*forth*/</script>' |
| 121 '</div>' | |
| 118 '</body></html>', | 122 '</body></html>', |
| 119 'a|web/test.html._data': EMPTY_DATA, | 123 'a|web/test.html._data': EMPTY_DATA, |
| 120 'a|web/test2.html': | 124 'a|web/test2.html': |
| 121 '<!DOCTYPE html><html><head><script>/*third*/</script>' | 125 '<!DOCTYPE html><html><head><script>/*third*/</script>' |
| 122 '</head><body><polymer-element>2</polymer-element></html>', | 126 '</head><body><polymer-element>2</polymer-element></html>', |
| 123 'a|web/test2.html._data': EMPTY_DATA, | 127 'a|web/test2.html._data': EMPTY_DATA, |
| 124 'a|web/second.js': '/*second*/' | 128 'a|web/second.js': '/*second*/' |
| 125 }); | 129 }); |
| 126 | 130 |
| 127 testPhases('preserves order of scripts, extract Dart scripts', phases, | 131 testPhases('preserves order of scripts, extract Dart scripts', phases, |
| 128 { | 132 { |
| 129 'a|web/test.html': | 133 'a|web/test.html': |
| 130 '<!DOCTYPE html><html><head>' | 134 '<!DOCTYPE html><html><head>' |
| 131 '<script type="text/javascript">/*first*/</script>' | 135 '<script type="text/javascript">/*first*/</script>' |
| 132 '<script src="second.js"></script>' | 136 '<script src="second.js"></script>' |
| 133 '<link rel="import" href="test2.html">' | 137 '<link rel="import" href="test2.html">' |
| 134 '<script type="application/dart">/*fifth*/</script>' | 138 '<script type="application/dart">/*fifth*/</script>' |
| 135 '</head></html>', | 139 '</head></html>', |
| 136 'a|web/test2.html': | 140 'a|web/test2.html': |
| 137 '<!DOCTYPE html><html><head><script>/*third*/</script>' | 141 '<!DOCTYPE html><html><head><script>/*third*/</script>' |
| 138 '<script type="application/dart">/*forth*/</script>' | 142 '<script type="application/dart">/*forth*/</script>' |
| 139 '</head><body><polymer-element>2</polymer-element></html>', | 143 '</head><body><polymer-element>2</polymer-element></html>', |
| 140 'a|web/second.js': '/*second*/' | 144 'a|web/second.js': '/*second*/' |
| 141 }, { | 145 }, { |
| 142 'a|web/test.html': | 146 'a|web/test.html': |
| 143 '<!DOCTYPE html><html><head>' | 147 '<!DOCTYPE html><html><head>' |
| 144 '</head><body>' | 148 '</head><body>' |
| 149 '<div hidden="">' | |
| 145 '<script type="text/javascript">/*first*/</script>' | 150 '<script type="text/javascript">/*first*/</script>' |
| 146 '<script src="second.js"></script>' | 151 '<script src="second.js"></script>' |
| 147 '<script>/*third*/</script>' | 152 '<script>/*third*/</script>' |
| 148 '<polymer-element>2</polymer-element>' | 153 '<polymer-element>2</polymer-element>' |
| 154 '</div>' | |
| 149 '</body></html>', | 155 '</body></html>', |
| 150 'a|web/test.html._data': expectedData([ | 156 'a|web/test.html._data': expectedData([ |
| 151 'web/test.html.1.dart','web/test.html.0.dart']), | 157 'web/test.html.1.dart','web/test.html.0.dart']), |
| 152 'a|web/test.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/', | 158 'a|web/test.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/', |
| 153 'a|web/test.html.0.dart': 'library a.web.test_html_0;\n/*fifth*/', | 159 'a|web/test.html.0.dart': 'library a.web.test_html_0;\n/*fifth*/', |
| 154 'a|web/test2.html': | 160 'a|web/test2.html': |
| 155 '<!DOCTYPE html><html><head></head><body><script>/*third*/</script>' | 161 '<!DOCTYPE html><html><head></head><body>' |
| 156 '<polymer-element>2</polymer-element></body></html>', | 162 '<div hidden="">' |
| 163 '<script>/*third*/</script>' | |
| 164 '</div>' | |
| 165 '<polymer-element>2</polymer-element>' | |
| 166 '</body></html>', | |
| 157 'a|web/test2.html._data': expectedData(['web/test2.html.0.dart']), | 167 'a|web/test2.html._data': expectedData(['web/test2.html.0.dart']), |
| 158 'a|web/test2.html.0.dart': 'library a.web.test2_html_0;\n/*forth*/', | 168 'a|web/test2.html.0.dart': 'library a.web.test2_html_0;\n/*forth*/', |
| 159 'a|web/second.js': '/*second*/' | 169 'a|web/second.js': '/*second*/' |
| 160 }); | 170 }); |
| 161 | 171 |
| 162 final cspPhases = [[new ImportInliner( | 172 final cspPhases = [[new ImportInliner( |
| 163 new TransformOptions(contentSecurityPolicy: true))]]; | 173 new TransformOptions(contentSecurityPolicy: true))]]; |
| 164 testPhases('extract Js scripts in CSP mode', cspPhases, | 174 testPhases('extract Js scripts in CSP mode', cspPhases, |
| 165 { | 175 { |
| 166 'a|web/test.html': | 176 'a|web/test.html': |
| 167 '<!DOCTYPE html><html><head>' | 177 '<!DOCTYPE html><html><head>' |
| 168 '<script type="text/javascript">/*first*/</script>' | 178 '<script type="text/javascript">/*first*/</script>' |
| 169 '<script src="second.js"></script>' | 179 '<script src="second.js"></script>' |
| 170 '<link rel="import" href="test2.html">' | 180 '<link rel="import" href="test2.html">' |
| 171 '<script type="application/dart">/*fifth*/</script>' | 181 '<script type="application/dart">/*fifth*/</script>' |
| 172 '</head></html>', | 182 '</head></html>', |
| 173 'a|web/test2.html': | 183 'a|web/test2.html': |
| 174 '<!DOCTYPE html><html><head><script>/*third*/</script>' | 184 '<!DOCTYPE html><html><head><script>/*third*/</script>' |
| 175 '<script type="application/dart">/*forth*/</script>' | 185 '<script type="application/dart">/*forth*/</script>' |
| 176 '</head><body><polymer-element>2</polymer-element></html>', | 186 '</head><body><polymer-element>2</polymer-element></html>', |
| 177 'a|web/second.js': '/*second*/' | 187 'a|web/second.js': '/*second*/' |
| 178 }, { | 188 }, { |
| 179 'a|web/test.html': | 189 'a|web/test.html': |
| 180 '<!DOCTYPE html><html><head>' | 190 '<!DOCTYPE html><html><head>' |
| 181 '</head><body>' | 191 '</head><body>' |
| 192 '<div hidden="">' | |
| 182 '<script type="text/javascript" src="test.html.0.js"></script>' | 193 '<script type="text/javascript" src="test.html.0.js"></script>' |
| 183 '<script src="second.js"></script>' | 194 '<script src="second.js"></script>' |
| 184 '<script src="test.html.2.js"></script>' | 195 '<script src="test.html.2.js"></script>' |
| 185 '<polymer-element>2</polymer-element>' | 196 '<polymer-element>2</polymer-element>' |
| 197 '</div>' | |
| 186 '</body></html>', | 198 '</body></html>', |
| 187 'a|web/test.html._data': expectedData([ | 199 'a|web/test.html._data': expectedData([ |
| 188 'web/test.html.3.dart','web/test.html.1.dart']), | 200 'web/test.html.3.dart','web/test.html.1.dart']), |
| 189 'a|web/test.html.3.dart': 'library a.web.test2_html_0;\n/*forth*/', | 201 'a|web/test.html.3.dart': 'library a.web.test2_html_0;\n/*forth*/', |
| 190 'a|web/test.html.1.dart': 'library a.web.test_html_0;\n/*fifth*/', | 202 'a|web/test.html.1.dart': 'library a.web.test_html_0;\n/*fifth*/', |
| 191 'a|web/test.html.0.js': '/*first*/', | 203 'a|web/test.html.0.js': '/*first*/', |
| 192 'a|web/test.html.2.js': '/*third*/', | 204 'a|web/test.html.2.js': '/*third*/', |
| 193 'a|web/test2.html': | 205 'a|web/test2.html': |
| 194 '<!DOCTYPE html><html><head></head><body>' | 206 '<!DOCTYPE html><html><head></head><body>' |
| 207 '<div hidden="">' | |
| 195 '<script src="test2.html.0.js"></script>' | 208 '<script src="test2.html.0.js"></script>' |
| 209 '</div>' | |
| 196 '<polymer-element>2</polymer-element></body></html>', | 210 '<polymer-element>2</polymer-element></body></html>', |
| 197 'a|web/test2.html._data': expectedData(['web/test2.html.1.dart']), | 211 'a|web/test2.html._data': expectedData(['web/test2.html.1.dart']), |
| 198 'a|web/test2.html.0.js': '/*third*/', | 212 'a|web/test2.html.0.js': '/*third*/', |
| 199 'a|web/test2.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/', | 213 'a|web/test2.html.1.dart': 'library a.web.test2_html_0;\n/*forth*/', |
| 200 'a|web/second.js': '/*second*/' | 214 'a|web/second.js': '/*second*/' |
| 201 }); | 215 }); |
| 202 | 216 |
| 203 testPhases('Cleans library names generated from file paths.', phases, | 217 testPhases('Cleans library names generated from file paths.', phases, |
| 204 { | 218 { |
| 205 'a|web/01_test.html': | 219 'a|web/01_test.html': |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 264 'a|web/test2.html': | 278 'a|web/test2.html': |
| 265 '<!DOCTYPE html><html><head>' | 279 '<!DOCTYPE html><html><head>' |
| 266 '</head><body><polymer-element>2</polymer-element></html>', | 280 '</head><body><polymer-element>2</polymer-element></html>', |
| 267 'a|web/test3.html': | 281 'a|web/test3.html': |
| 268 '<!DOCTYPE html><html><head>' | 282 '<!DOCTYPE html><html><head>' |
| 269 '</head><body><polymer-element>3</polymer-element></html>', | 283 '</head><body><polymer-element>3</polymer-element></html>', |
| 270 }, { | 284 }, { |
| 271 'a|web/test.html': | 285 'a|web/test.html': |
| 272 '<!DOCTYPE html><html><head>' | 286 '<!DOCTYPE html><html><head>' |
| 273 '</head><body>' | 287 '</head><body>' |
| 288 '<div hidden="">' | |
| 274 '<polymer-element>2</polymer-element>' | 289 '<polymer-element>2</polymer-element>' |
| 275 '<polymer-element>3</polymer-element>' | 290 '<polymer-element>3</polymer-element>' |
| 291 '</div>' | |
| 276 '</body></html>', | 292 '</body></html>', |
| 277 'a|web/test2.html': | 293 'a|web/test2.html': |
| 278 '<!DOCTYPE html><html><head>' | 294 '<!DOCTYPE html><html><head>' |
| 279 '</head><body><polymer-element>2</polymer-element></html>', | 295 '</head><body><polymer-element>2</polymer-element></html>', |
| 280 'a|web/test3.html': | 296 'a|web/test3.html': |
| 281 '<!DOCTYPE html><html><head>' | 297 '<!DOCTYPE html><html><head>' |
| 282 '</head><body><polymer-element>3</polymer-element></html>', | 298 '</head><body><polymer-element>3</polymer-element></html>', |
| 283 }); | 299 }); |
| 284 | 300 |
| 285 testPhases('deep, elements, one per file', phases, { | 301 testPhases('deep, elements, one per file', phases, { |
| 286 'a|web/test.html': | 302 'a|web/test.html': |
| 287 '<!DOCTYPE html><html><head>' | 303 '<!DOCTYPE html><html><head>' |
| 288 '<link rel="import" href="test2.html">' | 304 '<link rel="import" href="test2.html">' |
| 289 '</head></html>', | 305 '</head></html>', |
| 290 'a|web/test2.html': | 306 'a|web/test2.html': |
| 291 '<!DOCTYPE html><html><head>' | 307 '<!DOCTYPE html><html><head>' |
| 292 '<link rel="import" href="assets/b/test3.html">' | 308 '<link rel="import" href="assets/b/test3.html">' |
| 293 '</head><body><polymer-element>2</polymer-element></html>', | 309 '</head><body><polymer-element>2</polymer-element></html>', |
| 294 'b|asset/test3.html': | 310 'b|asset/test3.html': |
| 295 '<!DOCTYPE html><html><head>' | 311 '<!DOCTYPE html><html><head>' |
| 296 '<link rel="import" href="../../packages/c/test4.html">' | 312 '<link rel="import" href="../../packages/c/test4.html">' |
| 297 '</head><body><polymer-element>3</polymer-element></html>', | 313 '</head><body><polymer-element>3</polymer-element></html>', |
| 298 'c|lib/test4.html': | 314 'c|lib/test4.html': |
| 299 '<!DOCTYPE html><html><head>' | 315 '<!DOCTYPE html><html><head>' |
| 300 '</head><body><polymer-element>4</polymer-element></html>', | 316 '</head><body><polymer-element>4</polymer-element></html>', |
| 301 }, { | 317 }, { |
| 302 'a|web/test.html': | 318 'a|web/test.html': |
| 303 '<!DOCTYPE html><html><head>' | 319 '<!DOCTYPE html><html><head>' |
| 304 '</head><body>' | 320 '</head><body>' |
| 321 '<div hidden="">' | |
| 305 '<polymer-element>4</polymer-element>' | 322 '<polymer-element>4</polymer-element>' |
| 306 '<polymer-element>3</polymer-element>' | 323 '<polymer-element>3</polymer-element>' |
| 307 '<polymer-element>2</polymer-element></body></html>', | 324 '<polymer-element>2</polymer-element>' |
| 325 '</div>' | |
| 326 '</body></html>', | |
| 308 'a|web/test2.html': | 327 'a|web/test2.html': |
| 309 '<!DOCTYPE html><html><head>' | 328 '<!DOCTYPE html><html><head>' |
| 310 '</head><body>' | 329 '</head><body>' |
| 330 '<div hidden="">' | |
| 311 '<polymer-element>4</polymer-element>' | 331 '<polymer-element>4</polymer-element>' |
| 312 '<polymer-element>3</polymer-element>' | 332 '<polymer-element>3</polymer-element>' |
| 313 '<polymer-element>2</polymer-element></body></html>', | 333 '</div>' |
| 334 '<polymer-element>2</polymer-element>' | |
| 335 '</body></html>', | |
| 314 'b|asset/test3.html': | 336 'b|asset/test3.html': |
| 315 '<!DOCTYPE html><html><head>' | 337 '<!DOCTYPE html><html><head>' |
| 316 '<link rel="import" href="../../packages/c/test4.html">' | 338 '<link rel="import" href="../../packages/c/test4.html">' |
| 317 '</head><body><polymer-element>3</polymer-element></html>', | 339 '</head><body><polymer-element>3</polymer-element></html>', |
| 318 'c|lib/test4.html': | 340 'c|lib/test4.html': |
| 319 '<!DOCTYPE html><html><head>' | 341 '<!DOCTYPE html><html><head>' |
| 320 '</head><body><polymer-element>4</polymer-element></html>', | 342 '</head><body><polymer-element>4</polymer-element></html>', |
| 321 }); | 343 }); |
| 322 | 344 |
| 323 testPhases('deep, elements, many imports', phases, { | 345 testPhases('deep, elements, many imports', phases, { |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 345 'a|web/test4a.html': | 367 'a|web/test4a.html': |
| 346 '<!DOCTYPE html><html><head>' | 368 '<!DOCTYPE html><html><head>' |
| 347 '</head><body><polymer-element>4a</polymer-element></body></html>', | 369 '</head><body><polymer-element>4a</polymer-element></body></html>', |
| 348 'a|web/test4b.html': | 370 'a|web/test4b.html': |
| 349 '<!DOCTYPE html><html><head>' | 371 '<!DOCTYPE html><html><head>' |
| 350 '</head><body><polymer-element>4b</polymer-element></body></html>', | 372 '</head><body><polymer-element>4b</polymer-element></body></html>', |
| 351 }, { | 373 }, { |
| 352 'a|web/test.html': | 374 'a|web/test.html': |
| 353 '<!DOCTYPE html><html><head>' | 375 '<!DOCTYPE html><html><head>' |
| 354 '</head><body>' | 376 '</head><body>' |
| 377 '<div hidden="">' | |
| 355 '<polymer-element>3a</polymer-element>' | 378 '<polymer-element>3a</polymer-element>' |
| 356 '<polymer-element>3b</polymer-element>' | 379 '<polymer-element>3b</polymer-element>' |
| 357 '<polymer-element>2a</polymer-element>' | 380 '<polymer-element>2a</polymer-element>' |
| 358 '<polymer-element>4a</polymer-element>' | 381 '<polymer-element>4a</polymer-element>' |
| 359 '<polymer-element>4b</polymer-element>' | 382 '<polymer-element>4b</polymer-element>' |
| 360 '<polymer-element>2b</polymer-element>' | 383 '<polymer-element>2b</polymer-element>' |
| 384 '</div>' | |
| 361 '</body></html>', | 385 '</body></html>', |
| 362 'a|web/test2a.html': | 386 'a|web/test2a.html': |
| 363 '<!DOCTYPE html><html><head>' | 387 '<!DOCTYPE html><html><head>' |
| 364 '</head><body>' | 388 '</head><body>' |
| 389 '<div hidden="">' | |
| 365 '<polymer-element>3a</polymer-element>' | 390 '<polymer-element>3a</polymer-element>' |
| 366 '<polymer-element>3b</polymer-element>' | 391 '<polymer-element>3b</polymer-element>' |
| 392 '</div>' | |
| 367 '<polymer-element>2a</polymer-element>' | 393 '<polymer-element>2a</polymer-element>' |
| 368 '</body></html>', | 394 '</body></html>', |
| 369 'a|web/test2b.html': | 395 'a|web/test2b.html': |
| 370 '<!DOCTYPE html><html><head>' | 396 '<!DOCTYPE html><html><head>' |
| 371 '</head><body>' | 397 '</head><body>' |
| 398 '<div hidden="">' | |
| 372 '<polymer-element>4a</polymer-element>' | 399 '<polymer-element>4a</polymer-element>' |
| 373 '<polymer-element>4b</polymer-element>' | 400 '<polymer-element>4b</polymer-element>' |
| 401 '</div>' | |
| 374 '<polymer-element>2b</polymer-element>' | 402 '<polymer-element>2b</polymer-element>' |
| 375 '</body></html>', | 403 '</body></html>', |
| 376 'a|web/test3a.html': | 404 'a|web/test3a.html': |
| 377 '<!DOCTYPE html><html><head>' | 405 '<!DOCTYPE html><html><head>' |
| 378 '</head><body>' | 406 '</head><body>' |
| 379 '<polymer-element>3a</polymer-element>' | 407 '<polymer-element>3a</polymer-element>' |
| 380 '</body></html>', | 408 '</body></html>', |
| 381 'a|web/test3b.html': | 409 'a|web/test3b.html': |
| 382 '<!DOCTYPE html><html><head>' | 410 '<!DOCTYPE html><html><head>' |
| 383 '</head><body>' | 411 '</head><body>' |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 405 '<link rel="import" href="test_2.html">' | 433 '<link rel="import" href="test_2.html">' |
| 406 '</head><body><polymer-element>1</polymer-element></html>', | 434 '</head><body><polymer-element>1</polymer-element></html>', |
| 407 'a|web/test_2.html': | 435 'a|web/test_2.html': |
| 408 '<!DOCTYPE html><html><head>' | 436 '<!DOCTYPE html><html><head>' |
| 409 '<link rel="import" href="test_1.html">' | 437 '<link rel="import" href="test_1.html">' |
| 410 '</head><body><polymer-element>2</polymer-element></html>', | 438 '</head><body><polymer-element>2</polymer-element></html>', |
| 411 }, { | 439 }, { |
| 412 'a|web/test.html': | 440 'a|web/test.html': |
| 413 '<!DOCTYPE html><html><head>' | 441 '<!DOCTYPE html><html><head>' |
| 414 '</head><body>' | 442 '</head><body>' |
| 443 '<div hidden="">' | |
| 415 '<polymer-element>2</polymer-element>' | 444 '<polymer-element>2</polymer-element>' |
| 416 '<polymer-element>1</polymer-element></body></html>', | 445 '<polymer-element>1</polymer-element>' |
| 446 '</div>' | |
| 447 '</body></html>', | |
| 417 'a|web/test_1.html': | 448 'a|web/test_1.html': |
| 418 '<!DOCTYPE html><html><head>' | 449 '<!DOCTYPE html><html><head>' |
| 419 '</head><body>' | 450 '</head><body>' |
| 451 '<div hidden="">' | |
| 420 '<polymer-element>2</polymer-element>' | 452 '<polymer-element>2</polymer-element>' |
| 453 '</div>' | |
| 421 '<polymer-element>1</polymer-element></body></html>', | 454 '<polymer-element>1</polymer-element></body></html>', |
| 422 'a|web/test_2.html': | 455 'a|web/test_2.html': |
| 423 '<!DOCTYPE html><html><head>' | 456 '<!DOCTYPE html><html><head>' |
| 424 '</head><body>' | 457 '</head><body>' |
| 458 '<div hidden="">' | |
| 425 '<polymer-element>1</polymer-element>' | 459 '<polymer-element>1</polymer-element>' |
| 460 '</div>' | |
| 426 '<polymer-element>2</polymer-element></body></html>', | 461 '<polymer-element>2</polymer-element></body></html>', |
| 427 }); | 462 }); |
| 428 | 463 |
| 429 testPhases('imports cycle, 1-step lasso, scripts too', phases, { | 464 testPhases('imports cycle, 1-step lasso, scripts too', phases, { |
| 430 'a|web/test.html': | 465 'a|web/test.html': |
| 431 '<!DOCTYPE html><html><head>' | 466 '<!DOCTYPE html><html><head>' |
| 432 '<link rel="import" href="test_1.html">' | 467 '<link rel="import" href="test_1.html">' |
| 433 '</head></html>', | 468 '</head></html>', |
| 434 'a|web/test_1.html': | 469 'a|web/test_1.html': |
| 435 '<!DOCTYPE html><html><head>' | 470 '<!DOCTYPE html><html><head>' |
| 436 '<link rel="import" href="test_2.html">' | 471 '<link rel="import" href="test_2.html">' |
| 437 '</head><body><polymer-element>1</polymer-element>' | 472 '</head><body><polymer-element>1</polymer-element>' |
| 438 '<script src="s1"></script></html>', | 473 '<script src="s1"></script></html>', |
| 439 'a|web/test_2.html': | 474 'a|web/test_2.html': |
| 440 '<!DOCTYPE html><html><head>' | 475 '<!DOCTYPE html><html><head>' |
| 441 '<link rel="import" href="test_1.html">' | 476 '<link rel="import" href="test_1.html">' |
| 442 '</head><body><polymer-element>2</polymer-element>' | 477 '</head><body><polymer-element>2</polymer-element>' |
| 443 '<script src="s2"></script></html>', | 478 '<script src="s2"></script></html>', |
| 444 }, { | 479 }, { |
| 445 'a|web/test.html': | 480 'a|web/test.html': |
| 446 '<!DOCTYPE html><html><head>' | 481 '<!DOCTYPE html><html><head>' |
| 447 '</head><body>' | 482 '</head><body>' |
| 483 '<div hidden="">' | |
| 448 '<polymer-element>2</polymer-element>' | 484 '<polymer-element>2</polymer-element>' |
| 449 '<script src="s2"></script>' | 485 '<script src="s2"></script>' |
| 450 '<polymer-element>1</polymer-element>' | 486 '<polymer-element>1</polymer-element>' |
| 451 '<script src="s1"></script></body></html>', | 487 '<script src="s1"></script>' |
| 488 '</div>' | |
| 489 '</body></html>', | |
| 452 'a|web/test.html._data': EMPTY_DATA, | 490 'a|web/test.html._data': EMPTY_DATA, |
| 453 'a|web/test_1.html': | 491 'a|web/test_1.html': |
| 454 '<!DOCTYPE html><html><head>' | 492 '<!DOCTYPE html><html><head>' |
| 455 '</head><body>' | 493 '</head><body>' |
| 494 '<div hidden="">' | |
| 456 '<polymer-element>2</polymer-element>' | 495 '<polymer-element>2</polymer-element>' |
| 457 '<script src="s2"></script>' | 496 '<script src="s2"></script>' |
| 497 '</div>' | |
| 458 '<polymer-element>1</polymer-element>' | 498 '<polymer-element>1</polymer-element>' |
| 459 '<script src="s1"></script></body></html>', | 499 '<script src="s1"></script></body></html>', |
| 460 'a|web/test_1.html._data': EMPTY_DATA, | 500 'a|web/test_1.html._data': EMPTY_DATA, |
| 461 'a|web/test_2.html': | 501 'a|web/test_2.html': |
| 462 '<!DOCTYPE html><html><head>' | 502 '<!DOCTYPE html><html><head>' |
| 463 '</head><body>' | 503 '</head><body>' |
| 504 '<div hidden="">' | |
| 464 '<polymer-element>1</polymer-element>' | 505 '<polymer-element>1</polymer-element>' |
| 465 '<script src="s1"></script>' | 506 '<script src="s1"></script>' |
| 507 '</div>' | |
| 466 '<polymer-element>2</polymer-element>' | 508 '<polymer-element>2</polymer-element>' |
| 467 '<script src="s2"></script></body></html>', | 509 '<script src="s2"></script></body></html>', |
| 468 'a|web/test_2.html._data': EMPTY_DATA, | 510 'a|web/test_2.html._data': EMPTY_DATA, |
| 469 }); | 511 }); |
| 470 | 512 |
| 471 testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, { | 513 testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, { |
| 472 'a|web/test.html': | 514 'a|web/test.html': |
| 473 '<!DOCTYPE html><html><head>' | 515 '<!DOCTYPE html><html><head>' |
| 474 '<link rel="import" href="test_1.html">' | 516 '<link rel="import" href="test_1.html">' |
| 475 '</head></html>', | 517 '</head></html>', |
| 476 'a|web/test_1.html': | 518 'a|web/test_1.html': |
| 477 '<!DOCTYPE html><html><head>' | 519 '<!DOCTYPE html><html><head>' |
| 478 '<link rel="import" href="test_2.html">' | 520 '<link rel="import" href="test_2.html">' |
| 479 '</head><body><polymer-element>1</polymer-element>' | 521 '</head><body><polymer-element>1</polymer-element>' |
| 480 '<script type="application/dart" src="s1.dart">' | 522 '<script type="application/dart" src="s1.dart">' |
| 481 '</script></html>', | 523 '</script></html>', |
| 482 'a|web/test_2.html': | 524 'a|web/test_2.html': |
| 483 '<!DOCTYPE html><html><head>' | 525 '<!DOCTYPE html><html><head>' |
| 484 '<link rel="import" href="test_1.html">' | 526 '<link rel="import" href="test_1.html">' |
| 485 '</head><body><polymer-element>2' | 527 '</head><body><polymer-element>2' |
| 486 '<script type="application/dart" src="s2.dart"></script>' | 528 '<script type="application/dart" src="s2.dart"></script>' |
| 487 '</polymer-element>' | 529 '</polymer-element>' |
| 488 '</html>', | 530 '</html>', |
| 489 'a|web/s1.dart': '', | 531 'a|web/s1.dart': '', |
| 490 'a|web/s2.dart': '', | 532 'a|web/s2.dart': '', |
| 491 }, { | 533 }, { |
| 492 'a|web/test.html': | 534 'a|web/test.html': |
| 493 '<!DOCTYPE html><html><head>' | 535 '<!DOCTYPE html><html><head>' |
| 494 '</head><body>' | 536 '</head><body>' |
| 537 '<div hidden="">' | |
| 495 '<polymer-element>2</polymer-element>' | 538 '<polymer-element>2</polymer-element>' |
| 496 '<polymer-element>1</polymer-element>' | 539 '<polymer-element>1</polymer-element>' |
| 540 '</div>' | |
| 497 '</body></html>', | 541 '</body></html>', |
| 498 'a|web/test.html._data': expectedData(['web/s2.dart', 'web/s1.dart']), | 542 'a|web/test.html._data': expectedData(['web/s2.dart', 'web/s1.dart']), |
| 499 'a|web/test_1.html': | 543 'a|web/test_1.html': |
| 500 '<!DOCTYPE html><html><head>' | 544 '<!DOCTYPE html><html><head>' |
| 501 '</head><body>' | 545 '</head><body>' |
| 546 '<div hidden="">' | |
| 502 '<polymer-element>2</polymer-element>' | 547 '<polymer-element>2</polymer-element>' |
| 548 '</div>' | |
| 503 '<polymer-element>1</polymer-element>' | 549 '<polymer-element>1</polymer-element>' |
| 504 '</body></html>', | 550 '</body></html>', |
| 505 'a|web/test_1.html._data': expectedData(['web/s2.dart', 'web/s1.dart']), | 551 'a|web/test_1.html._data': expectedData(['web/s2.dart', 'web/s1.dart']), |
| 506 'a|web/test_2.html': | 552 'a|web/test_2.html': |
| 507 '<!DOCTYPE html><html><head>' | 553 '<!DOCTYPE html><html><head>' |
| 508 '</head><body>' | 554 '</head><body>' |
| 555 '<div hidden="">' | |
| 509 '<polymer-element>1</polymer-element>' | 556 '<polymer-element>1</polymer-element>' |
| 557 '</div>' | |
| 510 '<polymer-element>2' | 558 '<polymer-element>2' |
| 511 '</polymer-element>' | 559 '</polymer-element>' |
| 512 '</body></html>', | 560 '</body></html>', |
| 513 'a|web/test_2.html._data': expectedData(['web/s1.dart', 'web/s2.dart']), | 561 'a|web/test_2.html._data': expectedData(['web/s1.dart', 'web/s2.dart']), |
| 514 }); | 562 }); |
| 515 | 563 |
| 516 testPhases('imports with Dart script after JS script', phases, { | 564 testPhases('imports with Dart script after JS script', phases, { |
| 517 'a|web/test.html': | 565 'a|web/test.html': |
| 518 '<!DOCTYPE html><html><head>' | 566 '<!DOCTYPE html><html><head>' |
| 519 '<link rel="import" href="test_1.html">' | 567 '<link rel="import" href="test_1.html">' |
| 520 '</head></html>', | 568 '</head></html>', |
| 521 'a|web/test_1.html': | 569 'a|web/test_1.html': |
| 522 '<!DOCTYPE html><html><head>' | 570 '<!DOCTYPE html><html><head>' |
| 523 '<link rel="import" href="test_1.html">' | 571 '<link rel="import" href="test_1.html">' |
| 524 '</head><body>' | 572 '</head><body>' |
| 525 '<foo>42</foo><bar-baz></bar-baz>' | 573 '<foo>42</foo><bar-baz></bar-baz>' |
| 526 '<polymer-element>1' | 574 '<polymer-element>1' |
| 527 '<script src="s1.js"></script>' | 575 '<script src="s1.js"></script>' |
| 528 '<script type="application/dart" src="s1.dart"></script>' | 576 '<script type="application/dart" src="s1.dart"></script>' |
| 529 '</polymer-element>' | 577 '</polymer-element>' |
| 530 'FOO</body></html>', | 578 'FOO</body></html>', |
| 531 'a|web/s1.dart': '', | 579 'a|web/s1.dart': '', |
| 532 }, { | 580 }, { |
| 533 'a|web/test.html': | 581 'a|web/test.html': |
| 534 '<!DOCTYPE html><html><head>' | 582 '<!DOCTYPE html><html><head>' |
| 535 '</head><body>' | 583 '</head><body>' |
| 584 '<div hidden="">' | |
| 536 '<foo>42</foo><bar-baz></bar-baz>' | 585 '<foo>42</foo><bar-baz></bar-baz>' |
| 537 '<polymer-element>1' | 586 '<polymer-element>1' |
| 538 '<script src="s1.js"></script>' | 587 '<script src="s1.js"></script>' |
| 539 '</polymer-element>' | 588 '</polymer-element>' |
| 540 'FOO</body></html>', | 589 'FOO' |
| 590 '</div>' | |
| 591 '</body></html>', | |
| 541 'a|web/test.html._data': expectedData(['web/s1.dart']), | 592 'a|web/test.html._data': expectedData(['web/s1.dart']), |
| 542 'a|web/test_1.html': | 593 'a|web/test_1.html': |
| 543 '<!DOCTYPE html><html><head>' | 594 '<!DOCTYPE html><html><head>' |
| 544 '</head><body>' | 595 '</head><body>' |
| 545 '<foo>42</foo><bar-baz></bar-baz>' | 596 '<foo>42</foo><bar-baz></bar-baz>' |
| 546 '<polymer-element>1' | 597 '<polymer-element>1' |
| 547 '<script src="s1.js"></script>' | 598 '<script src="s1.js"></script>' |
| 548 '</polymer-element>' | 599 '</polymer-element>' |
| 549 'FOO</body></html>', | 600 'FOO</body></html>', |
| 550 'a|web/test_1.html._data': expectedData(['web/s1.dart']), | 601 'a|web/test_1.html._data': expectedData(['web/s1.dart']), |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 564 '<link rel="import" href="test_3.html">' | 615 '<link rel="import" href="test_3.html">' |
| 565 '</head><body><polymer-element>2</polymer-element></html>', | 616 '</head><body><polymer-element>2</polymer-element></html>', |
| 566 'a|web/test_3.html': | 617 'a|web/test_3.html': |
| 567 '<!DOCTYPE html><html><head>' | 618 '<!DOCTYPE html><html><head>' |
| 568 '<link rel="import" href="test_1.html">' | 619 '<link rel="import" href="test_1.html">' |
| 569 '</head><body><polymer-element>3</polymer-element></html>', | 620 '</head><body><polymer-element>3</polymer-element></html>', |
| 570 }, { | 621 }, { |
| 571 'a|web/test.html': | 622 'a|web/test.html': |
| 572 '<!DOCTYPE html><html><head>' | 623 '<!DOCTYPE html><html><head>' |
| 573 '</head><body>' | 624 '</head><body>' |
| 625 '<div hidden="">' | |
| 574 '<polymer-element>3</polymer-element>' | 626 '<polymer-element>3</polymer-element>' |
| 575 '<polymer-element>2</polymer-element>' | 627 '<polymer-element>2</polymer-element>' |
| 576 '<polymer-element>1</polymer-element></body></html>', | 628 '<polymer-element>1</polymer-element>' |
| 629 '</div>' | |
| 630 '</body></html>', | |
| 577 'a|web/test_1.html': | 631 'a|web/test_1.html': |
| 578 '<!DOCTYPE html><html><head>' | 632 '<!DOCTYPE html><html><head>' |
| 579 '</head><body>' | 633 '</head><body>' |
| 634 '<div hidden="">' | |
| 580 '<polymer-element>3</polymer-element>' | 635 '<polymer-element>3</polymer-element>' |
| 581 '<polymer-element>2</polymer-element>' | 636 '<polymer-element>2</polymer-element>' |
| 637 '</div>' | |
| 582 '<polymer-element>1</polymer-element></body></html>', | 638 '<polymer-element>1</polymer-element></body></html>', |
| 583 'a|web/test_2.html': | 639 'a|web/test_2.html': |
| 584 '<!DOCTYPE html><html><head>' | 640 '<!DOCTYPE html><html><head>' |
| 585 '</head><body>' | 641 '</head><body>' |
| 642 '<div hidden="">' | |
| 586 '<polymer-element>1</polymer-element>' | 643 '<polymer-element>1</polymer-element>' |
| 587 '<polymer-element>3</polymer-element>' | 644 '<polymer-element>3</polymer-element>' |
| 645 '</div>' | |
| 588 '<polymer-element>2</polymer-element></body></html>', | 646 '<polymer-element>2</polymer-element></body></html>', |
| 589 'a|web/test_3.html': | 647 'a|web/test_3.html': |
| 590 '<!DOCTYPE html><html><head>' | 648 '<!DOCTYPE html><html><head>' |
| 591 '</head><body>' | 649 '</head><body>' |
| 650 '<div hidden="">' | |
| 592 '<polymer-element>2</polymer-element>' | 651 '<polymer-element>2</polymer-element>' |
| 593 '<polymer-element>1</polymer-element>' | 652 '<polymer-element>1</polymer-element>' |
| 653 '</div>' | |
| 594 '<polymer-element>3</polymer-element></body></html>', | 654 '<polymer-element>3</polymer-element></body></html>', |
| 595 }); | 655 }); |
| 596 | 656 |
| 597 testPhases('imports cycle, self cycle', phases, { | 657 testPhases('imports cycle, self cycle', phases, { |
| 598 'a|web/test.html': | 658 'a|web/test.html': |
| 599 '<!DOCTYPE html><html><head>' | 659 '<!DOCTYPE html><html><head>' |
| 600 '<link rel="import" href="test_1.html">' | 660 '<link rel="import" href="test_1.html">' |
| 601 '</head></html>', | 661 '</head></html>', |
| 602 'a|web/test_1.html': | 662 'a|web/test_1.html': |
| 603 '<!DOCTYPE html><html><head>' | 663 '<!DOCTYPE html><html><head>' |
| 604 '<link rel="import" href="test_1.html">' | 664 '<link rel="import" href="test_1.html">' |
| 605 '</head><body><polymer-element>1</polymer-element></html>', | 665 '</head><body><polymer-element>1</polymer-element></html>', |
| 606 }, { | 666 }, { |
| 607 'a|web/test.html': | 667 'a|web/test.html': |
| 608 '<!DOCTYPE html><html><head>' | 668 '<!DOCTYPE html><html><head>' |
| 609 '</head><body>' | 669 '</head><body>' |
| 610 '<polymer-element>1</polymer-element></body></html>', | 670 '<div hidden="">' |
| 671 '<polymer-element>1</polymer-element>' | |
| 672 '</div>' | |
| 673 '</body></html>', | |
| 611 'a|web/test_1.html': | 674 'a|web/test_1.html': |
| 612 '<!DOCTYPE html><html><head>' | 675 '<!DOCTYPE html><html><head>' |
| 613 '</head><body>' | 676 '</head><body>' |
| 614 '<polymer-element>1</polymer-element></body></html>', | 677 '<polymer-element>1</polymer-element></body></html>', |
| 615 }); | 678 }); |
| 616 | 679 |
| 617 testPhases('imports DAG', phases, { | 680 testPhases('imports DAG', phases, { |
| 618 'a|web/test.html': | 681 'a|web/test.html': |
| 619 '<!DOCTYPE html><html><head>' | 682 '<!DOCTYPE html><html><head>' |
| 620 '<link rel="import" href="test_1.html">' | 683 '<link rel="import" href="test_1.html">' |
| 621 '<link rel="import" href="test_2.html">' | 684 '<link rel="import" href="test_2.html">' |
| 622 '</head></html>', | 685 '</head></html>', |
| 623 'a|web/test_1.html': | 686 'a|web/test_1.html': |
| 624 '<!DOCTYPE html><html><head>' | 687 '<!DOCTYPE html><html><head>' |
| 625 '<link rel="import" href="test_3.html">' | 688 '<link rel="import" href="test_3.html">' |
| 626 '</head><body><polymer-element>1</polymer-element></body></html>', | 689 '</head><body><polymer-element>1</polymer-element></body></html>', |
| 627 'a|web/test_2.html': | 690 'a|web/test_2.html': |
| 628 '<!DOCTYPE html><html><head>' | 691 '<!DOCTYPE html><html><head>' |
| 629 '<link rel="import" href="test_3.html">' | 692 '<link rel="import" href="test_3.html">' |
| 630 '</head><body><polymer-element>2</polymer-element></body></html>', | 693 '</head><body><polymer-element>2</polymer-element></body></html>', |
| 631 'a|web/test_3.html': | 694 'a|web/test_3.html': |
| 632 '<!DOCTYPE html><html><head>' | 695 '<!DOCTYPE html><html><head>' |
| 633 '</head><body><polymer-element>3</polymer-element></body></html>', | 696 '</head><body><polymer-element>3</polymer-element></body></html>', |
| 634 }, { | 697 }, { |
| 635 'a|web/test.html': | 698 'a|web/test.html': |
| 636 '<!DOCTYPE html><html><head>' | 699 '<!DOCTYPE html><html><head>' |
| 637 '</head><body>' | 700 '</head><body>' |
| 701 '<div hidden="">' | |
| 638 '<polymer-element>3</polymer-element>' | 702 '<polymer-element>3</polymer-element>' |
| 639 '<polymer-element>1</polymer-element>' | 703 '<polymer-element>1</polymer-element>' |
| 640 '<polymer-element>2</polymer-element></body></html>', | 704 '<polymer-element>2</polymer-element>' |
| 705 '</div>' | |
| 706 '</body></html>', | |
| 641 'a|web/test_1.html': | 707 'a|web/test_1.html': |
| 642 '<!DOCTYPE html><html><head>' | 708 '<!DOCTYPE html><html><head>' |
| 643 '</head><body>' | 709 '</head><body>' |
| 710 '<div hidden="">' | |
| 644 '<polymer-element>3</polymer-element>' | 711 '<polymer-element>3</polymer-element>' |
| 712 '</div>' | |
| 645 '<polymer-element>1</polymer-element></body></html>', | 713 '<polymer-element>1</polymer-element></body></html>', |
| 646 'a|web/test_2.html': | 714 'a|web/test_2.html': |
| 647 '<!DOCTYPE html><html><head>' | 715 '<!DOCTYPE html><html><head>' |
| 648 '</head><body>' | 716 '</head><body>' |
| 717 '<div hidden="">' | |
| 649 '<polymer-element>3</polymer-element>' | 718 '<polymer-element>3</polymer-element>' |
| 719 '</div>' | |
| 650 '<polymer-element>2</polymer-element></body></html>', | 720 '<polymer-element>2</polymer-element></body></html>', |
| 651 'a|web/test_3.html': | 721 'a|web/test_3.html': |
| 652 '<!DOCTYPE html><html><head>' | 722 '<!DOCTYPE html><html><head>' |
| 653 '</head><body>' | 723 '</head><body>' |
| 654 '<polymer-element>3</polymer-element></body></html>', | 724 '<polymer-element>3</polymer-element></body></html>', |
| 655 }); | 725 }); |
| 656 | 726 |
| 657 testLogOutput( | 727 testLogOutput( |
| 658 (options) => new ImportInliner(options), | 728 (options) => new ImportInliner(options), |
| 659 "missing styles don't throw errors and are not inlined", { | 729 "missing styles don't throw errors and are not inlined", { |
| 660 'a|web/test.html': | 730 'a|web/test.html': |
| 661 '<!DOCTYPE html><html><head>' | 731 '<!DOCTYPE html><html><head>' |
| 662 '<link rel="stylesheet" href="foo.css">' | 732 '<link rel="stylesheet" href="foo.css">' |
| 663 '</head></html>', | 733 '</head></html>', |
| 664 }, { | 734 }, { |
| 665 'a|web/test.html': | 735 'a|web/test.html': |
| 666 '<!DOCTYPE html><html><head></head><body>' | 736 '<!DOCTYPE html><html><head></head><body>' |
| 737 '<div hidden="">' | |
| 667 '<link rel="stylesheet" href="foo.css">' | 738 '<link rel="stylesheet" href="foo.css">' |
| 739 '</div>' | |
| 668 '</body></html>', | 740 '</body></html>', |
| 669 }, [ | 741 }, [ |
| 670 'warning: Failed to inline stylesheet: ' | 742 'warning: Failed to inline stylesheet: ' |
| 671 'Could not find asset a|web/foo.css. (web/test.html 0 27)', | 743 'Could not find asset a|web/foo.css. (web/test.html 0 27)', |
| 672 ]); | 744 ]); |
| 673 | 745 |
| 674 testLogOutput( | 746 testLogOutput( |
| 675 (options) => new ImportInliner(options), | 747 (options) => new ImportInliner(options), |
| 676 "missing html imports throw errors", { | 748 "missing html imports throw errors", { |
| 677 'a|web/test.html': | 749 'a|web/test.html': |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 758 testPhases('shallow, inlines css', phases, { | 830 testPhases('shallow, inlines css', phases, { |
| 759 'a|web/test.html': | 831 'a|web/test.html': |
| 760 '<!DOCTYPE html><html><head>' | 832 '<!DOCTYPE html><html><head>' |
| 761 '<link rel="stylesheet" href="test2.css">' | 833 '<link rel="stylesheet" href="test2.css">' |
| 762 '</head></html>', | 834 '</head></html>', |
| 763 'a|web/test2.css': | 835 'a|web/test2.css': |
| 764 'h1 { font-size: 70px; }', | 836 'h1 { font-size: 70px; }', |
| 765 }, { | 837 }, { |
| 766 'a|web/test.html': | 838 'a|web/test.html': |
| 767 '<!DOCTYPE html><html><head></head><body>' | 839 '<!DOCTYPE html><html><head></head><body>' |
| 840 '<div hidden="">' | |
| 768 '<style>h1 { font-size: 70px; }</style>' | 841 '<style>h1 { font-size: 70px; }</style>' |
| 842 '</div>' | |
| 769 '</body></html>', | 843 '</body></html>', |
| 770 'a|web/test.html._data': EMPTY_DATA, | 844 'a|web/test.html._data': EMPTY_DATA, |
| 771 'a|web/test2.css': | 845 'a|web/test2.css': |
| 772 'h1 { font-size: 70px; }', | 846 'h1 { font-size: 70px; }', |
| 773 }); | 847 }); |
| 774 | 848 |
| 775 testPhases('deep, inlines css', phases, { | 849 testPhases('deep, inlines css', phases, { |
| 776 'a|web/test.html': | 850 'a|web/test.html': |
| 777 '<!DOCTYPE html><html><head>' | 851 '<!DOCTYPE html><html><head>' |
| 778 '<link rel="import" href="test2.html">' | 852 '<link rel="import" href="test2.html">' |
| 779 '</head></html>', | 853 '</head></html>', |
| 780 'a|web/test2.html': | 854 'a|web/test2.html': |
| 781 '<polymer-element>2' | 855 '<polymer-element>2' |
| 782 '<link rel="stylesheet" href="assets/b/test3.css">' | 856 '<link rel="stylesheet" href="assets/b/test3.css">' |
| 783 '</polymer-element>', | 857 '</polymer-element>', |
| 784 'b|asset/test3.css': | 858 'b|asset/test3.css': |
| 785 'body {\n background: #eaeaea url("../../assets/b/test4.png");\n}\n' | 859 'body {\n background: #eaeaea url("../../assets/b/test4.png");\n}\n' |
| 786 '.foo {\n background: url("../../packages/c/test5.png");\n}', | 860 '.foo {\n background: url("../../packages/c/test5.png");\n}', |
| 787 'b|asset/test4.png': 'PNG', | 861 'b|asset/test4.png': 'PNG', |
| 788 'c|lib/test5.png': 'PNG', | 862 'c|lib/test5.png': 'PNG', |
| 789 }, { | 863 }, { |
| 790 'a|web/test.html': | 864 'a|web/test.html': |
| 791 '<!DOCTYPE html><html><head></head><body>' | 865 '<!DOCTYPE html><html><head></head><body>' |
| 866 '<div hidden="">' | |
| 792 '<polymer-element>2' | 867 '<polymer-element>2' |
| 793 '<style>' | 868 '<style>' |
| 794 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' | 869 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' |
| 795 '.foo {\n background: url(packages/c/test5.png);\n}' | 870 '.foo {\n background: url(packages/c/test5.png);\n}' |
| 796 '</style>' | 871 '</style>' |
| 797 '</polymer-element>' | 872 '</polymer-element>' |
| 873 '</div>' | |
| 798 '</body></html>', | 874 '</body></html>', |
| 799 'a|web/test2.html': | 875 'a|web/test2.html': |
| 800 '<html><head></head><body>' | 876 '<html><head></head><body>' |
| 801 '<polymer-element>2' | 877 '<polymer-element>2' |
| 802 '<style>' | 878 '<style>' |
| 803 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' | 879 'body {\n background: #eaeaea url(assets/b/test4.png);\n}\n' |
| 804 '.foo {\n background: url(packages/c/test5.png);\n}' | 880 '.foo {\n background: url(packages/c/test5.png);\n}' |
| 805 '</style>' | 881 '</style>' |
| 806 '</polymer-element>' | 882 '</polymer-element>' |
| 807 '</body></html>', | 883 '</body></html>', |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 823 '<link rel="stylesheet" href="test.css">' | 899 '<link rel="stylesheet" href="test.css">' |
| 824 '</polymer-element>', | 900 '</polymer-element>', |
| 825 'a|web/foo/bar/test3.html': | 901 'a|web/foo/bar/test3.html': |
| 826 '<img src="qux.png">', | 902 '<img src="qux.png">', |
| 827 'a|web/foo/test.css': | 903 'a|web/foo/test.css': |
| 828 'body {\n background: #eaeaea url("test4.png");\n}\n' | 904 'body {\n background: #eaeaea url("test4.png");\n}\n' |
| 829 '.foo {\n background: url("test5.png");\n}', | 905 '.foo {\n background: url("test5.png");\n}', |
| 830 }, { | 906 }, { |
| 831 'a|web/test.html': | 907 'a|web/test.html': |
| 832 '<!DOCTYPE html><html><head></head><body>' | 908 '<!DOCTYPE html><html><head></head><body>' |
| 909 '<div hidden="">' | |
| 833 '<img src="foo/bar/qux.png">' | 910 '<img src="foo/bar/qux.png">' |
| 834 '<polymer-element>2' | 911 '<polymer-element>2' |
| 835 '<style>' | 912 '<style>' |
| 836 'body {\n background: #eaeaea url(foo/test4.png);\n}\n' | 913 'body {\n background: #eaeaea url(foo/test4.png);\n}\n' |
| 837 '.foo {\n background: url(foo/test5.png);\n}' | 914 '.foo {\n background: url(foo/test5.png);\n}' |
| 838 '</style></polymer-element></body></html>', | 915 '</style></polymer-element>' |
| 916 '</div>' | |
| 917 '</body></html>', | |
| 839 'a|web/foo/test2.html': | 918 'a|web/foo/test2.html': |
| 840 '<html><head></head><body>' | 919 '<html><head></head><body>' |
| 920 '<div hidden="">' // NOTE: Parser injects the first import into head. | |
|
Siggi Cherem (dart-lang)
2014/09/15 18:04:32
I'm not sure I follow, what did you mean with this
jakemac
2014/09/15 18:34:03
In the original file, there was no <head> tag so y
Siggi Cherem (dart-lang)
2014/09/15 19:18:16
Ah, OK, maybe rephrase a bit ('injects' sounds lik
jakemac
2014/09/15 20:47:34
Added some comments to the definition
On 2014/09/
| |
| 841 '<img src="bar/qux.png">' | 921 '<img src="bar/qux.png">' |
| 922 '</div>' | |
| 842 '<polymer-element>2' | 923 '<polymer-element>2' |
| 843 '<style>' | 924 '<style>' |
| 844 'body {\n background: #eaeaea url(test4.png);\n}\n' | 925 'body {\n background: #eaeaea url(test4.png);\n}\n' |
| 845 '.foo {\n background: url(test5.png);\n}' | 926 '.foo {\n background: url(test5.png);\n}' |
| 846 '</style></polymer-element></body></html>', | 927 '</style></polymer-element>' |
| 928 '</body></html>', | |
| 847 'a|web/foo/bar/test3.html': | 929 'a|web/foo/bar/test3.html': |
| 848 '<img src="qux.png">', | 930 '<img src="qux.png">', |
| 849 'a|web/foo/test.css': | 931 'a|web/foo/test.css': |
| 850 'body {\n background: #eaeaea url("test4.png");\n}\n' | 932 'body {\n background: #eaeaea url("test4.png");\n}\n' |
| 851 '.foo {\n background: url("test5.png");\n}', | 933 '.foo {\n background: url("test5.png");\n}', |
| 852 }); | 934 }); |
| 853 | 935 |
| 854 testPhases('shallow, inlines css and preserves order', phases, { | 936 testPhases('shallow, inlines css and preserves order', phases, { |
| 855 'a|web/test.html': | 937 'a|web/test.html': |
| 856 '<!DOCTYPE html><html><head>' | 938 '<!DOCTYPE html><html><head>' |
| 857 '<style>.first { color: black }</style>' | 939 '<style>.first { color: black }</style>' |
| 858 '<link rel="stylesheet" href="test2.css">' | 940 '<link rel="stylesheet" href="test2.css">' |
| 859 '<style>.second { color: black }</style>' | 941 '<style>.second { color: black }</style>' |
| 860 '</head></html>', | 942 '</head></html>', |
| 861 'a|web/test2.css': | 943 'a|web/test2.css': |
| 862 'h1 { font-size: 70px; }', | 944 'h1 { font-size: 70px; }', |
| 863 }, { | 945 }, { |
| 864 'a|web/test.html': | 946 'a|web/test.html': |
| 865 '<!DOCTYPE html><html><head></head><body>' | 947 '<!DOCTYPE html><html><head></head><body>' |
| 948 '<div hidden="">' | |
| 866 '<style>.first { color: black }</style>' | 949 '<style>.first { color: black }</style>' |
| 867 '<style>h1 { font-size: 70px; }</style>' | 950 '<style>h1 { font-size: 70px; }</style>' |
| 868 '<style>.second { color: black }</style>' | 951 '<style>.second { color: black }</style>' |
| 952 '</div>' | |
| 869 '</body></html>', | 953 '</body></html>', |
| 870 'a|web/test.html._data': EMPTY_DATA, | 954 'a|web/test.html._data': EMPTY_DATA, |
| 871 'a|web/test2.css': | 955 'a|web/test2.css': |
| 872 'h1 { font-size: 70px; }', | 956 'h1 { font-size: 70px; }', |
| 873 }); | 957 }); |
| 874 | 958 |
| 875 testPhases('inlined tags keep original attributes', phases, { | 959 testPhases('inlined tags keep original attributes', phases, { |
| 876 'a|web/test.html': | 960 'a|web/test.html': |
| 877 '<!DOCTYPE html><html><head>' | 961 '<!DOCTYPE html><html><head>' |
| 878 '<link rel="stylesheet" href="foo.css" no-shim>' | 962 '<link rel="stylesheet" href="foo.css" no-shim>' |
| 879 '<link rel="stylesheet" href="bar.css" shim-shadow foo>' | 963 '<link rel="stylesheet" href="bar.css" shim-shadow foo>' |
| 880 '</head></html>', | 964 '</head></html>', |
| 881 'a|web/foo.css': | 965 'a|web/foo.css': |
| 882 'h1 { font-size: 70px; }', | 966 'h1 { font-size: 70px; }', |
| 883 'a|web/bar.css': | 967 'a|web/bar.css': |
| 884 'h2 { font-size: 35px; }', | 968 'h2 { font-size: 35px; }', |
| 885 }, { | 969 }, { |
| 886 'a|web/test.html': | 970 'a|web/test.html': |
| 887 '<!DOCTYPE html><html><head></head><body>' | 971 '<!DOCTYPE html><html><head></head><body>' |
| 972 '<div hidden="">' | |
| 888 '<style no-shim="">h1 { font-size: 70px; }</style>' | 973 '<style no-shim="">h1 { font-size: 70px; }</style>' |
| 889 '<style shim-shadow="" foo="">h2 { font-size: 35px; }</style>' | 974 '<style shim-shadow="" foo="">h2 { font-size: 35px; }</style>' |
| 975 '</div>' | |
| 890 '</body></html>', | 976 '</body></html>', |
| 891 'a|web/foo.css': | 977 'a|web/foo.css': |
| 892 'h1 { font-size: 70px; }', | 978 'h1 { font-size: 70px; }', |
| 893 'a|web/bar.css': | 979 'a|web/bar.css': |
| 894 'h2 { font-size: 35px; }', | 980 'h2 { font-size: 35px; }', |
| 895 }); | 981 }); |
| 896 | 982 |
| 897 testPhases( | 983 testPhases( |
| 898 'can configure default stylesheet inlining', | 984 'can configure default stylesheet inlining', |
| 899 [[new ImportInliner(new TransformOptions( | 985 [[new ImportInliner(new TransformOptions( |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 954 '<link rel="import" href="foo/test_1.html">' | 1040 '<link rel="import" href="foo/test_1.html">' |
| 955 '<link rel="import" href="foo/test_2.html">' | 1041 '<link rel="import" href="foo/test_2.html">' |
| 956 '</head></html>', | 1042 '</head></html>', |
| 957 'a|web/foo/test_1.html': | 1043 'a|web/foo/test_1.html': |
| 958 '<script src="baz.jpg"></script>', | 1044 '<script src="baz.jpg"></script>', |
| 959 'a|web/foo/test_2.html': | 1045 'a|web/foo/test_2.html': |
| 960 '<foo-element src="baz.jpg"></foo-element>' | 1046 '<foo-element src="baz.jpg"></foo-element>' |
| 961 }, { | 1047 }, { |
| 962 'a|web/test.html': | 1048 'a|web/test.html': |
| 963 '<!DOCTYPE html><html><head></head><body>' | 1049 '<!DOCTYPE html><html><head></head><body>' |
| 1050 '<div hidden="">' | |
| 964 '<script src="foo/baz.jpg"></script>' // normalized | 1051 '<script src="foo/baz.jpg"></script>' // normalized |
| 965 '<foo-element src="baz.jpg"></foo-element>' // left alone (custom) | 1052 '<foo-element src="baz.jpg"></foo-element>' // left alone (custom) |
| 1053 '</div>' | |
| 966 '</body></html>', | 1054 '</body></html>', |
| 967 'a|web/foo/test_1.html': | 1055 'a|web/foo/test_1.html': |
| 968 '<script src="baz.jpg"></script>', | 1056 '<script src="baz.jpg"></script>', |
| 969 'a|web/foo/test_2.html': | 1057 'a|web/foo/test_2.html': |
| 970 '<foo-element src="baz.jpg"></foo-element>', | 1058 '<foo-element src="baz.jpg"></foo-element>', |
| 971 }); | 1059 }); |
| 972 | 1060 |
| 973 testPhases('paths with a binding prefix are not normalized', phases, { | 1061 testPhases('paths with a binding prefix are not normalized', phases, { |
| 974 'a|web/test.html': | 1062 'a|web/test.html': |
| 975 '<!DOCTYPE html><html><head>' | 1063 '<!DOCTYPE html><html><head>' |
| 976 '<link rel="import" href="foo/test.html">' | 1064 '<link rel="import" href="foo/test.html">' |
| 977 '</head></html>', | 1065 '</head></html>', |
| 978 'a|web/foo/test.html': | 1066 'a|web/foo/test.html': |
| 979 '<img src="{{bar}}">' | 1067 '<img src="{{bar}}">' |
| 980 '<img src="[[bar]]">', | 1068 '<img src="[[bar]]">', |
| 981 }, { | 1069 }, { |
| 982 'a|web/test.html': | 1070 'a|web/test.html': |
| 983 '<!DOCTYPE html><html><head></head><body>' | 1071 '<!DOCTYPE html><html><head></head><body>' |
| 1072 '<div hidden="">' | |
| 984 '<img src="{{bar}}">' | 1073 '<img src="{{bar}}">' |
| 985 '<img src="[[bar]]">' | 1074 '<img src="[[bar]]">' |
| 1075 '</div>' | |
| 986 '</body></html>', | 1076 '</body></html>', |
| 987 'a|web/foo/test.html': | 1077 'a|web/foo/test.html': |
| 988 '<img src="{{bar}}">' | 1078 '<img src="{{bar}}">' |
| 989 '<img src="[[bar]]">', | 1079 '<img src="[[bar]]">', |
| 990 }); | 1080 }); |
| 991 | 1081 |
| 992 testPhases('relative paths followed by bindings are normalized', phases, { | 1082 testPhases('relative paths followed by bindings are normalized', phases, { |
| 993 'a|web/test.html': | 1083 'a|web/test.html': |
| 994 '<!DOCTYPE html><html><head>' | 1084 '<!DOCTYPE html><html><head>' |
| 995 '<link rel="import" href="foo/test.html">' | 1085 '<link rel="import" href="foo/test.html">' |
| 996 '</head></html>', | 1086 '</head></html>', |
| 997 'a|web/foo/test.html': | 1087 'a|web/foo/test.html': |
| 998 '<img src="baz/{{bar}}">' | 1088 '<img src="baz/{{bar}}">' |
| 999 '<img src="./{{bar}}">', | 1089 '<img src="./{{bar}}">', |
| 1000 }, { | 1090 }, { |
| 1001 'a|web/test.html': | 1091 'a|web/test.html': |
| 1002 '<!DOCTYPE html><html><head></head><body>' | 1092 '<!DOCTYPE html><html><head></head><body>' |
| 1093 '<div hidden="">' | |
| 1003 '<img src="foo/baz/{{bar}}">' | 1094 '<img src="foo/baz/{{bar}}">' |
| 1004 '<img src="foo/{{bar}}">' | 1095 '<img src="foo/{{bar}}">' |
| 1096 '</div>' | |
| 1005 '</body></html>', | 1097 '</body></html>', |
| 1006 }); | 1098 }); |
| 1007 | 1099 |
| 1008 testPhases('relative paths in _* attributes are normalized', phases, { | 1100 testPhases('relative paths in _* attributes are normalized', phases, { |
| 1009 'a|web/test.html': | 1101 'a|web/test.html': |
| 1010 '<!DOCTYPE html><html><head>' | 1102 '<!DOCTYPE html><html><head>' |
| 1011 '<link rel="import" href="foo/test.html">' | 1103 '<link rel="import" href="foo/test.html">' |
| 1012 '</head></html>', | 1104 '</head></html>', |
| 1013 'a|web/foo/test.html': | 1105 'a|web/foo/test.html': |
| 1014 '<img _src="./{{bar}}">' | 1106 '<img _src="./{{bar}}">' |
| 1015 '<a _href="./{{bar}}">test</a>', | 1107 '<a _href="./{{bar}}">test</a>', |
| 1016 }, { | 1108 }, { |
| 1017 'a|web/test.html': | 1109 'a|web/test.html': |
| 1018 '<!DOCTYPE html><html><head></head><body>' | 1110 '<!DOCTYPE html><html><head></head><body>' |
| 1111 '<div hidden="">' | |
| 1019 '<img _src="foo/{{bar}}">' | 1112 '<img _src="foo/{{bar}}">' |
| 1020 '<a _href="foo/{{bar}}">test</a>' | 1113 '<a _href="foo/{{bar}}">test</a>' |
| 1114 '</div>' | |
| 1021 '</body></html>', | 1115 '</body></html>', |
| 1022 }); | 1116 }); |
| 1023 | 1117 |
| 1024 | 1118 |
| 1025 testLogOutput( | 1119 testLogOutput( |
| 1026 (options) => new ImportInliner(options), | 1120 (options) => new ImportInliner(options), |
| 1027 'warnings are given about _* attributes', { | 1121 'warnings are given about _* attributes', { |
| 1028 'a|web/test.html': | 1122 'a|web/test.html': |
| 1029 '<!DOCTYPE html><html><head></head><body>' | 1123 '<!DOCTYPE html><html><head></head><body>' |
| 1030 '<img src="foo/{{bar}}">' | 1124 '<img src="foo/{{bar}}">' |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1074 '<link rel="import" href="../../packages/a/foo/foo.html">' | 1168 '<link rel="import" href="../../packages/a/foo/foo.html">' |
| 1075 '</head></html>', | 1169 '</head></html>', |
| 1076 'a|lib/foo/foo.html': | 1170 'a|lib/foo/foo.html': |
| 1077 '<script rel="import" href="../../../packages/b/bar/bar.js">' | 1171 '<script rel="import" href="../../../packages/b/bar/bar.js">' |
| 1078 '</script>', | 1172 '</script>', |
| 1079 'b|lib/bar/bar.js': | 1173 'b|lib/bar/bar.js': |
| 1080 'console.log("here");', | 1174 'console.log("here");', |
| 1081 }, { | 1175 }, { |
| 1082 'a|web/test/test.html': | 1176 'a|web/test/test.html': |
| 1083 '<!DOCTYPE html><html><head></head><body>' | 1177 '<!DOCTYPE html><html><head></head><body>' |
| 1178 '<div hidden="">' | |
| 1084 '<script rel="import" href="../packages/b/bar/bar.js"></script>' | 1179 '<script rel="import" href="../packages/b/bar/bar.js"></script>' |
| 1180 '</div>' | |
| 1085 '</body></html>', | 1181 '</body></html>', |
| 1086 }); | 1182 }); |
| 1087 | 1183 |
| 1088 testPhases('includes in entry points normalize correctly', phases, { | 1184 testPhases('includes in entry points normalize correctly', phases, { |
| 1089 'a|web/test/test.html': | 1185 'a|web/test/test.html': |
| 1090 '<!DOCTYPE html><html><head>' | 1186 '<!DOCTYPE html><html><head>' |
| 1091 '<script src="packages/a/foo/bar.js"></script>' | 1187 '<script src="packages/a/foo/bar.js"></script>' |
| 1092 '</head></html>', | 1188 '</head></html>', |
| 1093 'a|lib/foo/bar.js': | 1189 'a|lib/foo/bar.js': |
| 1094 'console.log("here");', | 1190 'console.log("here");', |
| 1095 }, { | 1191 }, { |
| 1096 'a|web/test/test.html': | 1192 'a|web/test/test.html': |
| 1097 '<!DOCTYPE html><html><head></head><body>' | 1193 '<!DOCTYPE html><html><head></head><body>' |
| 1194 '<div hidden="">' | |
| 1098 '<script src="../packages/a/foo/bar.js"></script>' | 1195 '<script src="../packages/a/foo/bar.js"></script>' |
| 1196 '</div>' | |
| 1099 '</body></html>', | 1197 '</body></html>', |
| 1100 }); | 1198 }); |
| 1101 | 1199 |
| 1102 testPhases('two level deep entry points normalize correctly', phases, { | 1200 testPhases('two level deep entry points normalize correctly', phases, { |
| 1103 'a|web/test/well/test.html': | 1201 'a|web/test/well/test.html': |
| 1104 '<!DOCTYPE html><html><head>' | 1202 '<!DOCTYPE html><html><head>' |
| 1105 '<link rel="import" href="../../../packages/a/foo/foo.html">' | 1203 '<link rel="import" href="../../../packages/a/foo/foo.html">' |
| 1106 '</head></html>', | 1204 '</head></html>', |
| 1107 'a|lib/foo/foo.html': | 1205 'a|lib/foo/foo.html': |
| 1108 '<script rel="import" href="../../../packages/b/bar/bar.js"></script>', | 1206 '<script rel="import" href="../../../packages/b/bar/bar.js"></script>', |
| 1109 'b|lib/bar/bar.js': | 1207 'b|lib/bar/bar.js': |
| 1110 'console.log("here");', | 1208 'console.log("here");', |
| 1111 }, { | 1209 }, { |
| 1112 'a|web/test/well/test.html': | 1210 'a|web/test/well/test.html': |
| 1113 '<!DOCTYPE html><html><head></head><body>' | 1211 '<!DOCTYPE html><html><head></head><body>' |
| 1212 '<div hidden="">' | |
| 1114 '<script rel="import" href="../../packages/b/bar/bar.js"></script>' | 1213 '<script rel="import" href="../../packages/b/bar/bar.js"></script>' |
| 1214 '</div>' | |
| 1115 '</body></html>', | 1215 '</body></html>', |
| 1116 }); | 1216 }); |
| 1117 } | 1217 } |
| OLD | NEW |