зеркало из https://github.com/mozilla/gecko-dev.git
50 строки
1.4 KiB
JavaScript
50 строки
1.4 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */
|
|
/* vim: set ts=8 et sw=4 tw=80: */
|
|
var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
|
|
|
|
var gExpectedCharset;
|
|
var gLocalDir;
|
|
|
|
function CharsetDetectionTests(aTestFile, aExpectedCharset) {
|
|
gExpectedCharset = aExpectedCharset;
|
|
|
|
InitDetectorTests();
|
|
|
|
var fileURI = gLocalDir + aTestFile;
|
|
$("testframe").src = fileURI;
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
}
|
|
|
|
function InitDetectorTests() {
|
|
var loader = Services.scriptloader;
|
|
var ioService = Services.io;
|
|
loader.loadSubScript("chrome://mochikit/content/chrome-harness.js");
|
|
|
|
$("testframe").onload = DoDetectionTest;
|
|
|
|
if (gExpectedCharset == "default") {
|
|
// No point trying to be generic here, because we have plenty of other
|
|
// unit tests that fail if run using a non-windows-1252 locale.
|
|
gExpectedCharset = "windows-1252";
|
|
}
|
|
|
|
// Get the local directory. This needs to be a file: URI because chrome:
|
|
// URIs are always UTF-8 (bug 617339) and we are testing decoding from other
|
|
// charsets.
|
|
var jar = getJar(getRootDirectory(window.location.href));
|
|
var dir = jar
|
|
? extractJarToTmp(jar)
|
|
: getChromeDir(getResolvedURI(window.location.href));
|
|
gLocalDir = ioService.newFileURI(dir).spec;
|
|
}
|
|
|
|
function DoDetectionTest() {
|
|
var iframeDoc = $("testframe").contentDocument;
|
|
var charset = iframeDoc.characterSet;
|
|
|
|
is(charset, gExpectedCharset, "decoded as " + gExpectedCharset);
|
|
|
|
SimpleTest.finish();
|
|
}
|