browser_sourceurl_comment.js (1325B)
1 add_task(async function () { 2 // Test text and expected results. 3 let test_cases = [ 4 ["/*# sourceURL=here*/", "here"], 5 ["/*# sourceURL=here */", "here"], 6 ["/*@ sourceURL=here*/", "here"], 7 ["/*@ sourceURL=there*/ /*# sourceURL=here*/", "here"], 8 ["/*# sourceURL=here there */", "here"], 9 10 ["/*# sourceURL= here */", ""], 11 ["/*# sourceURL=*/", ""], 12 ["/*# sourceUR=here */", ""], 13 ["/*! sourceURL=here */", ""], 14 ["/*# sourceURL = here */", ""], 15 ["/* # sourceURL=here */", ""], 16 ]; 17 18 let page = "<!DOCTYPE HTML>\n<html>\n<head>\n"; 19 for (let i = 0; i < test_cases.length; ++i) { 20 page += `<style type="text/css"> #x${i} { color: red; }${test_cases[i][0]}</style>\n`; 21 } 22 page += "</head><body>some text</body></html>"; 23 24 let uri = "data:text/html;base64," + btoa(page); 25 info(`URI is ${uri}`); 26 27 await BrowserTestUtils.withNewTab( 28 { 29 gBrowser, 30 url: uri, 31 }, 32 async function (browser) { 33 await SpecialPowers.spawn(browser, [test_cases], function (tests) { 34 for (let i = 0; i < content.document.styleSheets.length; ++i) { 35 let sheet = content.document.styleSheets[i]; 36 37 info(`Checking sheet #${i}`); 38 is(sheet.sourceURL, tests[i][1], `correct source URL for sheet ${i}`); 39 } 40 }); 41 } 42 ); 43 });