gecko-dev/dom/bindings/test/test_usvstring.html

44 строки
1.7 KiB
HTML

<!-- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ -->
<!DOCTYPE HTML>
<html>
<head>
<title>Test USVString</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<script class="testbody" type="application/javascript">
/* global TestInterfaceJS */
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({set: [["dom.expose_test_interfaces", true]]}, function() {
var testInterfaceJS = new TestInterfaceJS();
ok(testInterfaceJS, "got a TestInterfaceJS object");
// For expected values, see algorithm definition here:
// http://heycam.github.io/webidl/#dfn-obtain-unicode
var testList = [
{ string: "foo",
expected: "foo" },
{ string: "This is U+2070E: \ud841\udf0e",
expected: "This is U+2070E: \ud841\udf0e" },
{ string: "Missing low surrogate: \ud841",
expected: "Missing low surrogate: \ufffd" },
{ string: "Missing low surrogate with trailer: \ud841!!",
expected: "Missing low surrogate with trailer: \ufffd!!" },
{ string: "Missing high surrogate: \udf0e",
expected: "Missing high surrogate: \ufffd" },
{ string: "Missing high surrogate with trailer: \udf0e!!",
expected: "Missing high surrogate with trailer: \ufffd!!" },
{ string: "U+2070E after malformed: \udf0e\ud841\udf0e",
expected: "U+2070E after malformed: \ufffd\ud841\udf0e" },
];
testList.forEach(function(test) {
is(testInterfaceJS.convertSVS(test.string), test.expected, "Convert '" + test.string + "'");
});
SimpleTest.finish();
});
</script>
</body>
</html>