diff options
Diffstat (limited to 'layout/style/test/browser_sourceurl_comment.js')
-rw-r--r-- | layout/style/test/browser_sourceurl_comment.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/layout/style/test/browser_sourceurl_comment.js b/layout/style/test/browser_sourceurl_comment.js new file mode 100644 index 0000000000..9baf6c9ce5 --- /dev/null +++ b/layout/style/test/browser_sourceurl_comment.js @@ -0,0 +1,43 @@ +add_task(async function () { + // Test text and expected results. + let test_cases = [ + ["/*# sourceURL=here*/", "here"], + ["/*# sourceURL=here */", "here"], + ["/*@ sourceURL=here*/", "here"], + ["/*@ sourceURL=there*/ /*# sourceURL=here*/", "here"], + ["/*# sourceURL=here there */", "here"], + + ["/*# sourceURL= here */", ""], + ["/*# sourceURL=*/", ""], + ["/*# sourceUR=here */", ""], + ["/*! sourceURL=here */", ""], + ["/*# sourceURL = here */", ""], + ["/* # sourceURL=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.sourceURL, tests[i][1], `correct source URL for sheet ${i}`); + } + }); + } + ); +}); |