[INTL] Implement String.prototype.localeCompare in ECMA-402
[WebKit-https.git] / LayoutTests / js / string-localeCompare-expected.txt
1 This test checks the behavior of String.prototype.localeCompare as described in the ECMAScript Internationalization API Specification (ECMA-402 2.0).
2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6 PASS String.prototype.localeCompare.length is 1
7 PASS Object.getOwnPropertyDescriptor(String.prototype, 'localeCompare').enumerable is false
8 PASS Object.getOwnPropertyDescriptor(String.prototype, 'localeCompare').configurable is true
9 PASS Object.getOwnPropertyDescriptor(String.prototype, 'localeCompare').writable is true
10 PASS String.prototype.localeCompare.call() threw exception TypeError: String.prototype.localeCompare requires that |this| not be undefined.
11 PASS String.prototype.localeCompare.call(undefined) threw exception TypeError: String.prototype.localeCompare requires that |this| not be undefined.
12 PASS String.prototype.localeCompare.call(null) threw exception TypeError: String.prototype.localeCompare requires that |this| not be null.
13 PASS String.prototype.localeCompare.call({}, '') did not throw exception.
14 PASS String.prototype.localeCompare.call([], '') did not throw exception.
15 PASS String.prototype.localeCompare.call(NaN, '') did not throw exception.
16 PASS String.prototype.localeCompare.call(5, '') did not throw exception.
17 PASS String.prototype.localeCompare.call('', '') did not throw exception.
18 PASS String.prototype.localeCompare.call(() => {}, '') did not throw exception.
19 PASS ''.localeCompare.call({ toString() { throw 'thisFail' } }, '') threw exception thisFail.
20 PASS ''.localeCompare({ toString() { throw 'thatFail' } }) threw exception thatFail.
21 PASS ''.localeCompare() did not throw exception.
22 PASS ''.localeCompare(null) did not throw exception.
23 PASS "a".localeCompare("aa") < 0 is true
24 PASS "a".localeCompare("b") < 0 is true
25 PASS "a".localeCompare("a") === 0 is true
26 PASS "ạ̈".localeCompare("ạ̈") === 0 is true
27 PASS "aa".localeCompare("a") > 0 is true
28 PASS "b".localeCompare("a") > 0 is true
29 PASS 'a'.localeCompare('b', '$') threw exception RangeError: invalid language tag: $.
30 PASS 'a'.localeCompare('b', 'en', {usage: 'Sort'}) threw exception RangeError: usage must be either "sort" or "search".
31 PASS 'ä'.localeCompare('z', 'en') is -1
32 PASS 'ä'.localeCompare('z', 'sv') is 1
33 PASS 'a'.localeCompare('b', 'en', { sensitivity:'base' }) is -1
34 PASS 'a'.localeCompare('ä', 'en', { sensitivity:'base' }) is 0
35 PASS 'a'.localeCompare('A', 'en', { sensitivity:'base' }) is 0
36 PASS 'a'.localeCompare('ⓐ', 'en', { sensitivity:'base' }) is 0
37 PASS 'a'.localeCompare('b', 'en', { sensitivity:'accent' }) is -1
38 PASS 'a'.localeCompare('ä', 'en', { sensitivity:'accent' }) is -1
39 PASS 'a'.localeCompare('A', 'en', { sensitivity:'accent' }) is 0
40 PASS 'a'.localeCompare('ⓐ', 'en', { sensitivity:'accent' }) is 0
41 PASS 'a'.localeCompare('b', 'en', { sensitivity:'case' }) is -1
42 PASS 'a'.localeCompare('ä', 'en', { sensitivity:'case' }) is 0
43 PASS 'a'.localeCompare('A', 'en', { sensitivity:'case' }) is -1
44 PASS 'a'.localeCompare('ⓐ', 'en', { sensitivity:'case' }) is 0
45 PASS 'a'.localeCompare('b', 'en', { sensitivity:'variant' }) is -1
46 PASS 'a'.localeCompare('ä', 'en', { sensitivity:'variant' }) is -1
47 PASS 'a'.localeCompare('A', 'en', { sensitivity:'variant' }) is -1
48 PASS 'a'.localeCompare('ⓐ', 'en', { sensitivity:'variant' }) is -1
49 PASS '1'.localeCompare('2', 'en', { numeric:false }) is -1
50 PASS '2'.localeCompare('10', 'en', { numeric:false }) is 1
51 PASS '01'.localeCompare('1', 'en', { numeric:false }) is -1
52 PASS '๑'.localeCompare('๒', 'en', { numeric:false }) is -1
53 PASS '๒'.localeCompare('๑๐', 'en', { numeric:false }) is 1
54 PASS '๐๑'.localeCompare('๑', 'en', { numeric:false }) is -1
55 PASS '1'.localeCompare('2', 'en', { numeric:true }) is -1
56 PASS '2'.localeCompare('10', 'en', { numeric:true }) is -1
57 PASS '01'.localeCompare('1', 'en', { numeric:true }) is 0
58 PASS '๑'.localeCompare('๒', 'en', { numeric:true }) is -1
59 PASS '๒'.localeCompare('๑๐', 'en', { numeric:true }) is -1
60 PASS '๐๑'.localeCompare('๑', 'en', { numeric:true }) is 0
61 PASS successfullyParsed is true
62
63 TEST COMPLETE
64