mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-23 00:47:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
98
intl/uconv/tests/unit/CharsetConversionTests.js
Normal file
98
intl/uconv/tests/unit/CharsetConversionTests.js
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
var Ci = Components.interfaces;
|
||||
var Cc = Components.classes;
|
||||
var CC = Components.Constructor;
|
||||
|
||||
function CreateScriptableConverter()
|
||||
{
|
||||
var ScriptableUnicodeConverter =
|
||||
CC("@mozilla.org/intl/scriptableunicodeconverter",
|
||||
"nsIScriptableUnicodeConverter");
|
||||
|
||||
return new ScriptableUnicodeConverter();
|
||||
}
|
||||
|
||||
function checkDecode(converter, charset, inText, expectedText)
|
||||
{
|
||||
try {
|
||||
converter.charset = charset;
|
||||
} catch(e) {
|
||||
converter.charset = "iso-8859-1";
|
||||
}
|
||||
|
||||
dump("testing decoding from " + charset + " to Unicode.\n");
|
||||
try {
|
||||
var outText = converter.ConvertToUnicode(inText);
|
||||
} catch(e) {
|
||||
outText = "\ufffd";
|
||||
}
|
||||
|
||||
if (outText != expectedText) {
|
||||
for (var i = 0; i < inText.length; ++i) {
|
||||
var inn = inText[i];
|
||||
var out = outText[i];
|
||||
var expected = expectedText[i];
|
||||
if (out != expected) {
|
||||
dump("Decoding error at position " + i + ": for input " + escape(inn) + " expected " + escape(expected) + " but got " + escape(out) + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
do_check_eq(outText, expectedText);
|
||||
}
|
||||
|
||||
function checkEncode(converter, charset, inText, expectedText)
|
||||
{
|
||||
try {
|
||||
converter.charset = charset;
|
||||
} catch(e) {
|
||||
converter.charset = "iso-8859-1";
|
||||
}
|
||||
|
||||
dump("testing encoding from Unicode to " + charset + "\n");
|
||||
var outText = converter.ConvertFromUnicode(inText) + converter.Finish();
|
||||
|
||||
if (outText != expectedText) {
|
||||
for (var i = 0; i < inText.length; ++i) {
|
||||
var inn = inText[i];
|
||||
var out = outText[i];
|
||||
var expected = expectedText[i];
|
||||
if (out != expected) {
|
||||
dump("Encoding error at position " + i + ": for input " + escape(inn) + " expected " + escape(expected) + " but got " + escape(out) + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
do_check_eq(outText, expectedText);
|
||||
}
|
||||
|
||||
function testDecodeAliases()
|
||||
{
|
||||
var converter = CreateScriptableConverter();
|
||||
for (var i = 0; i < aliases.length; ++i) {
|
||||
checkDecode(converter, aliases[i], inString, expectedString);
|
||||
}
|
||||
}
|
||||
|
||||
function testEncodeAliases()
|
||||
{
|
||||
var converter = CreateScriptableConverter();
|
||||
for (var i = 0; i < aliases.length; ++i) {
|
||||
checkEncode(converter, aliases[i], inString, expectedString);
|
||||
}
|
||||
}
|
||||
|
||||
function testDecodeAliasesInternal()
|
||||
{
|
||||
var converter = CreateScriptableConverter();
|
||||
converter.isInternal = true;
|
||||
for (var i = 0; i < aliases.length; ++i) {
|
||||
checkDecode(converter, aliases[i], inString, expectedString);
|
||||
}
|
||||
}
|
||||
|
||||
function testEncodeAliasesInternal()
|
||||
{
|
||||
var converter = CreateScriptableConverter();
|
||||
converter.isInternal = true;
|
||||
for (var i = 0; i < aliases.length; ++i) {
|
||||
checkEncode(converter, aliases[i], inString, expectedString);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue