| <!doctype html> |
| |
| <head> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| |
| <body> |
| <script> |
| async_test(function (test) { |
| const iframe = document.createElement("iframe"); |
| iframe.src = "resources/css-module-basic-iframe.html"; |
| iframe.onload = test.step_func_done(function () { |
| assert_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) |
| .backgroundColor, "rgb(255, 0, 0)", |
| "CSS module import should succeed"); |
| }); |
| document.body.appendChild(iframe); |
| }, "A CSS Module should load"); |
| |
| async_test(function (test) { |
| // This tests potential streaming compilation of modules in |
| // Chromium that is triggered only for large (32>KiB) files in older |
| // versions. |
| const iframe = document.createElement("iframe"); |
| iframe.src = "resources/css-module-basic-large-iframe.html"; |
| iframe.onload = test.step_func_done(function () { |
| assert_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) |
| .backgroundColor, "rgb(255, 0, 0)", |
| "CSS module import should succeed"); |
| }); |
| document.body.appendChild(iframe); |
| }, "A large CSS Module should load"); |
| |
| async_test(function (test) { |
| const iframe = document.createElement("iframe"); |
| iframe.src = "resources/css-module-at-import-iframe.html"; |
| iframe.onload = test.step_func_done(function () { |
| assert_equals(iframe.contentDocument.load_error, undefined); |
| assert_not_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) |
| .backgroundColor, "rgb(255, 0, 0)", |
| "CSS module @import should not succeed"); |
| }); |
| document.body.appendChild(iframe); |
| }, "An @import CSS Module should not load, but should not throw an exception"); |
| |
| async_test(function (test) { |
| const iframe = document.createElement("iframe"); |
| iframe.src = "resources/malformed-iframe.html"; |
| iframe.onload = test.step_func_done(function () { |
| assert_not_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) |
| .backgroundColor, "rgb(255, 0, 0)", |
| "Malformed CSS should not load"); |
| }); |
| document.body.appendChild(iframe); |
| }, "Malformed CSS should not load"); |
| |
| async_test(function (test) { |
| const iframe = document.createElement("iframe"); |
| iframe.src = "resources/css-module-without-assertion-iframe.html"; |
| iframe.onload = test.step_func_done(function () { |
| assert_equals(iframe.contentDocument.window_onerror, undefined); |
| assert_equals(iframe.contentDocument.script_onerror.type, "error"); |
| assert_not_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) |
| .backgroundColor, "rgb(255, 0, 0)", |
| "CSS module without type assertion should result in a fetch error"); |
| }); |
| document.body.appendChild(iframe); |
| }, "CSS module without type assertion should result in a fetch error"); |
| </script> |
| </body> |