diff options
Diffstat (limited to 'toolkit/components/viewsource/test/browser/browser_validatefilename.js')
-rw-r--r-- | toolkit/components/viewsource/test/browser/browser_validatefilename.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/toolkit/components/viewsource/test/browser/browser_validatefilename.js b/toolkit/components/viewsource/test/browser/browser_validatefilename.js new file mode 100644 index 0000000000..57699df733 --- /dev/null +++ b/toolkit/components/viewsource/test/browser/browser_validatefilename.js @@ -0,0 +1,68 @@ +/* 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,<title>Hello There</title>Test", + 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"); +}); |