diff options
Diffstat (limited to 'js/src/tests/ecma_6/String/shell.js')
-rw-r--r-- | js/src/tests/ecma_6/String/shell.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/String/shell.js b/js/src/tests/ecma_6/String/shell.js new file mode 100644 index 000000000..25e2f7e2f --- /dev/null +++ b/js/src/tests/ecma_6/String/shell.js @@ -0,0 +1,59 @@ +function runNormalizeTest(test) { + function codePointsToString(points) { + return points.map(x => String.fromCodePoint(x)).join(""); + } + function stringify(points) { + return points.map(x => x.toString(16)).join(); + } + + var source = codePointsToString(test.source); + var NFC = codePointsToString(test.NFC); + var NFD = codePointsToString(test.NFD); + var NFKC = codePointsToString(test.NFKC); + var NFKD = codePointsToString(test.NFKD); + var sourceStr = stringify(test.source); + var nfcStr = stringify(test.NFC); + var nfdStr = stringify(test.NFD); + var nfkcStr = stringify(test.NFKC); + var nfkdStr = stringify(test.NFKD); + + /* NFC */ + assertEq(source.normalize(), NFC, "NFC of " + sourceStr); + assertEq(NFC.normalize(), NFC, "NFC of " + nfcStr); + assertEq(NFD.normalize(), NFC, "NFC of " + nfdStr); + assertEq(NFKC.normalize(), NFKC, "NFC of " + nfkcStr); + assertEq(NFKD.normalize(), NFKC, "NFC of " + nfkdStr); + + assertEq(source.normalize(undefined), NFC, "NFC of " + sourceStr); + assertEq(NFC.normalize(undefined), NFC, "NFC of " + nfcStr); + assertEq(NFD.normalize(undefined), NFC, "NFC of " + nfdStr); + assertEq(NFKC.normalize(undefined), NFKC, "NFC of " + nfkcStr); + assertEq(NFKD.normalize(undefined), NFKC, "NFC of " + nfkdStr); + + assertEq(source.normalize("NFC"), NFC, "NFC of " + sourceStr); + assertEq(NFC.normalize("NFC"), NFC, "NFC of " + nfcStr); + assertEq(NFD.normalize("NFC"), NFC, "NFC of " + nfdStr); + assertEq(NFKC.normalize("NFC"), NFKC, "NFC of " + nfkcStr); + assertEq(NFKD.normalize("NFC"), NFKC, "NFC of " + nfkdStr); + + /* NFD */ + assertEq(source.normalize("NFD"), NFD, "NFD of " + sourceStr); + assertEq(NFC.normalize("NFD"), NFD, "NFD of " + nfcStr); + assertEq(NFD.normalize("NFD"), NFD, "NFD of " + nfdStr); + assertEq(NFKC.normalize("NFD"), NFKD, "NFD of " + nfkcStr); + assertEq(NFKD.normalize("NFD"), NFKD, "NFD of " + nfkdStr); + + /* NFKC */ + assertEq(source.normalize("NFKC"), NFKC, "NFKC of " + sourceStr); + assertEq(NFC.normalize("NFKC"), NFKC, "NFKC of " + nfcStr); + assertEq(NFD.normalize("NFKC"), NFKC, "NFKC of " + nfdStr); + assertEq(NFKC.normalize("NFKC"), NFKC, "NFKC of " + nfkcStr); + assertEq(NFKD.normalize("NFKC"), NFKC, "NFKC of " + nfkdStr); + + /* NFKD */ + assertEq(source.normalize("NFKD"), NFKD, "NFKD of " + sourceStr); + assertEq(NFC.normalize("NFKD"), NFKD, "NFKD of " + nfcStr); + assertEq(NFD.normalize("NFKD"), NFKD, "NFKD of " + nfdStr); + assertEq(NFKC.normalize("NFKD"), NFKD, "NFKD of " + nfkcStr); + assertEq(NFKD.normalize("NFKD"), NFKD, "NFKD of " + nfkdStr); +} |