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 = "\n\n
\n"; for (let i = 0; i < test_cases.length; ++i) { page += `\n`; } page += "some text"; 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}` ); } }); } ); });