summaryrefslogtreecommitdiffstats
path: root/layout/style/test/browser_sourcemap_comment.js
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/test/browser_sourcemap_comment.js')
-rw-r--r--layout/style/test/browser_sourcemap_comment.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/layout/style/test/browser_sourcemap_comment.js b/layout/style/test/browser_sourcemap_comment.js
new file mode 100644
index 0000000000..e0bbff8de4
--- /dev/null
+++ b/layout/style/test/browser_sourcemap_comment.js
@@ -0,0 +1,47 @@
+add_task(async function () {
+ // Test text and expected results.
+ let test_cases = [
+ ["/*# sourceMappingURL=here*/", "here"],
+ ["/*# sourceMappingURL=here */", "here"],
+ ["/*@ sourceMappingURL=here*/", "here"],
+ ["/*@ sourceMappingURL=there*/ /*# sourceMappingURL=here*/", "here"],
+ ["/*# sourceMappingURL=here there */", "here"],
+
+ ["/*# sourceMappingURL= here */", ""],
+ ["/*# sourceMappingURL=*/", ""],
+ ["/*# sourceMappingUR=here */", ""],
+ ["/*! sourceMappingURL=here */", ""],
+ ["/*# sourceMappingURL = here */", ""],
+ ["/* # sourceMappingURL=here */", ""],
+ ];
+
+ let page = "<!DOCTYPE HTML>\n<html>\n<head>\n";
+ for (let i = 0; i < test_cases.length; ++i) {
+ page += `<style type="text/css"> #x${i} { color: red; }${test_cases[i][0]}</style>\n`;
+ }
+ page += "</head><body>some text</body></html>";
+
+ let uri = "data:text/html;base64," + btoa(page);
+ info(`URI is ${uri}`);
+
+ await BrowserTestUtils.withNewTab(
+ {
+ gBrowser,
+ url: uri,
+ },
+ async function (browser) {
+ await SpecialPowers.spawn(browser, [test_cases], function (tests) {
+ for (let i = 0; i < content.document.styleSheets.length; ++i) {
+ let sheet = content.document.styleSheets[i];
+
+ info(`Checking sheet #${i}`);
+ is(
+ sheet.sourceMapURL,
+ tests[i][1],
+ `correct source map for sheet ${i}`
+ );
+ }
+ });
+ }
+ );
+});