/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; add_task(async function () { let tests = [ { uri: "data:text/html,Test", basename: "Untitled", }, { uri: "data:text/html,Hello ThereTest", basename: "Hello There", }, ]; for (let test of tests) { await BrowserTestUtils.withNewTab(test.uri, async browser => { let doc = { characterSet: browser.characterSet, contentType: browser.documentContentType, title: browser.contentTitle, }; let fl = gViewSourceUtils.getTemporaryFile( browser.currentURI, doc, "text/html" ); // Some versions of Windows will crop the extension to three characters so allow both forms. ok( fl.leafName == test.basename + ".htm" || fl.leafName == test.basename + ".html", "filename title for " + test.basename + " html" ); doc.contentType = "application/xhtml+xml"; fl = gViewSourceUtils.getTemporaryFile( browser.currentURI, doc, "application/xhtml+xml" ); ok( fl.leafName == test.basename + ".xht" || fl.leafName == test.basename + ".xhtml", "filename title for " + test.basename + " xhtml" ); }); } let fl = gViewSourceUtils.getTemporaryFile( Services.io.newURI("http://www.example.com/simple"), null, "text/html" ); ok( fl.leafName == "simple.htm" || fl.leafName == "simple.html", "filename title for simple" ); fl = gViewSourceUtils.getTemporaryFile( Services.io.newURI("http://www.example.com/samplefile.txt"), null, "text/html" ); is(fl.leafName, "samplefile.txt", "filename title for samplefile"); });