mirror of https://github.com/tc39/test262.git
29 lines
634 B
JavaScript
29 lines
634 B
JavaScript
function shouldBe(actual, expected) {
|
|
if (actual !== expected)
|
|
throw new Error('bad value: ' + actual);
|
|
}
|
|
|
|
function isLowSurrogate(code)
|
|
{
|
|
return code >= 0xDC00 && code <= 0xDFFF;
|
|
}
|
|
|
|
function isHighSurrogate(code)
|
|
{
|
|
return code >= 0xD800 && code <= 0xDBFF;
|
|
}
|
|
|
|
function isSurrogate(code)
|
|
{
|
|
return isLowSurrogate(code) || isHighSurrogate(code);
|
|
}
|
|
|
|
for (var i = 256; i < 0xffff; ++i) {
|
|
if (isSurrogate(i))
|
|
continue;
|
|
var ch = String.fromCharCode(i);
|
|
shouldBe(decodeURIComponent(encodeURIComponent(ch)), ch);
|
|
shouldBe(decodeURI(encodeURI(ch)), ch);
|
|
shouldBe(unescape(escape(ch)), ch);
|
|
}
|