diff --git a/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T1.js b/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T1.js index 87da8608e0..8415ba0cfd 100644 --- a/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T1.js +++ b/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T1.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.4_A4.12_T1 description: x and y are string primitives ---*/ @@ -44,3 +44,25 @@ if (("a\u0000b" >= "a\u0000a") !== true) { if (("aa" >= "aB") !== true) { throw new Test262Error('#7: ("aa" >= aB") === true'); } + +//CHECK#8 +if (("\u{10000}" >= "\uD7FF") !== true) { + throw new Test262Error('#8: ("\\u{10000}" >= "\\uD7FF") === true'); +} + +//CHECK#9 +if (("\uDC00" >= "\uD800") !== true) { + throw new Test262Error('#9: ("\\uDC00" >= "\\uD800") === true'); +} + +//CHECK#10 +// String comparison is done by code units, rather than by code points. +// "\u{10000}" is equivalent to "\uD800\uDC00" +if (("\u{10000}" >= "\uFFFF") !== false) { + throw new Test262Error('#10: ("\\u{10000}" >= "\\uFFFF") === false'); +} + +//CHECK#11 +if (("\u{12345}" >= "\u{10000}") !== true) { + throw new Test262Error('#11: ("\\u{12345}" >= "\\u{10000}") === true'); +} diff --git a/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T2.js b/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T2.js index 691c386bec..322eabedd6 100644 --- a/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T2.js +++ b/test/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T2.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.4_A4.12_T2 description: x and y are string primitives ---*/ diff --git a/test/language/expressions/greater-than/S11.8.2_A4.12_T1.js b/test/language/expressions/greater-than/S11.8.2_A4.12_T1.js index e28cba47f5..5727ce8c12 100644 --- a/test/language/expressions/greater-than/S11.8.2_A4.12_T1.js +++ b/test/language/expressions/greater-than/S11.8.2_A4.12_T1.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.2_A4.12_T1 description: x and y are string primitives ---*/ @@ -44,3 +44,25 @@ if (("a\u0000b" > "a\u0000a") !== true) { if (("aa" > "aB") !== true) { throw new Test262Error('#7: ("aa" > aB") === true'); } + +//CHECK#8 +if (("\u{10000}" > "\uD7FF") !== true) { + throw new Test262Error('#8: ("\\u{10000}" > "\\uD7FF") === true'); +} + +//CHECK#9 +if (("\uDC00" > "\uD800") !== true) { + throw new Test262Error('#9: ("\\uDC00" > "\\uD800") === true'); +} + +//CHECK#10 +// String comparison is done by code units, rather than by code points. +// "\u{10000}" is equivalent to "\uD800\uDC00" +if (("\u{10000}" > "\uFFFF") !== false) { + throw new Test262Error('#10: ("\\u{10000}" > "\\uFFFF") === false'); +} + +//CHECK#11 +if (("\u{12345}" > "\u{10000}") !== true) { + throw new Test262Error('#11: ("\\u{12345}" > "\\u{10000}") === true'); +} diff --git a/test/language/expressions/greater-than/S11.8.2_A4.12_T2.js b/test/language/expressions/greater-than/S11.8.2_A4.12_T2.js index 1b7dea952e..ee0585d145 100644 --- a/test/language/expressions/greater-than/S11.8.2_A4.12_T2.js +++ b/test/language/expressions/greater-than/S11.8.2_A4.12_T2.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.2_A4.12_T2 description: x and y are string primitives ---*/ diff --git a/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T1.js b/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T1.js index 5f1b7dcc9e..411b963de3 100644 --- a/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T1.js +++ b/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T1.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.3_A4.12_T1 description: x and y are string primitives ---*/ @@ -44,3 +44,25 @@ if (("a\u0000a" <= "a\u0000b") !== true) { if (("aB" <= "aa") !== true) { throw new Test262Error('#7: ("aB" <= aa") === true'); } + +//CHECK#8 +if (("\uD7FF" <= "\u{10000}") !== true) { + throw new Test262Error('#8: ("\\uD7FF" <= "\\u{10000}") === true'); +} + +//CHECK#9 +if (("\uD800" <= "\uDC00") !== true) { + throw new Test262Error('#9: ("\\uD800" <= "\\uDC00") === true'); +} + +//CHECK#10 +// String comparison is done by code units, rather than by code points. +// "\u{10000}" is equivalent to "\uD800\uDC00" +if (("\u{10000}" <= "\uFFFF") !== true) { + throw new Test262Error('#10: ("\\u{10000}" <= "\\uFFFF") === true'); +} + +//CHECK#11 +if (("\u{10000}" <= "\u{12345}") !== true) { + throw new Test262Error('#11: ("\\u{10000}" <= "\\u{12345}") === true'); +} diff --git a/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T2.js b/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T2.js index f40639eb23..0fb53b572d 100644 --- a/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T2.js +++ b/test/language/expressions/less-than-or-equal/S11.8.3_A4.12_T2.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.3_A4.12_T2 description: x and y are string primitives ---*/ diff --git a/test/language/expressions/less-than/S11.8.1_A4.12_T1.js b/test/language/expressions/less-than/S11.8.1_A4.12_T1.js index 599e7a3d9a..b4ecf225b8 100644 --- a/test/language/expressions/less-than/S11.8.1_A4.12_T1.js +++ b/test/language/expressions/less-than/S11.8.1_A4.12_T1.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.1_A4.12_T1 description: x and y are string primitives ---*/ @@ -44,3 +44,25 @@ if (("a\u0000a" < "a\u0000b") !== true) { if (("aB" < "aa") !== true) { throw new Test262Error('#7: ("aB" < aa") === true'); } + +//CHECK#8 +if (("\uD7FF" < "\u{10000}") !== true) { + throw new Test262Error('#8: ("\\uD7FF" < "\\u{10000}") === true'); +} + +//CHECK#9 +if (("\uD800" < "\uDC00") !== true) { + throw new Test262Error('#9: ("\\uD800" < "\\uDC00") === true'); +} + +//CHECK#10 +// String comparison is done by code units, rather than by code points. +// "\u{10000}" is equivalent to "\uD800\uDC00" +if (("\u{10000}" < "\uFFFF") !== true) { + throw new Test262Error('#10: ("\\u{10000}" < "\\uFFFF") === true'); +} + +//CHECK#11 +if (("\u{10000}" < "\u{12345}") !== true) { + throw new Test262Error('#11: ("\\u{10000}" < "\\u{12345}") === true'); +} diff --git a/test/language/expressions/less-than/S11.8.1_A4.12_T2.js b/test/language/expressions/less-than/S11.8.1_A4.12_T2.js index 6a9498c250..c68de04dd5 100644 --- a/test/language/expressions/less-than/S11.8.1_A4.12_T2.js +++ b/test/language/expressions/less-than/S11.8.1_A4.12_T2.js @@ -5,7 +5,7 @@ info: | If neither x, nor y is a prefix of each other, returned result of strings comparison applies a simple lexicographic ordering to the sequences of - code point value values + code unit value values es5id: 11.8.1_A4.12_T2 description: x and y are string primitives ---*/