[INTL] Implement Intl.Collator.prototype.resolvedOptions ()
[WebKit-https.git] / LayoutTests / js / intl-collator-expected.txt
1 This test checks the behavior of Intl.Collator 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 Intl.Collator is an instance of Function
7 PASS Intl.Collator() is an instance of Intl.Collator
8 PASS Intl.Collator.call({}) is an instance of Intl.Collator
9 PASS new Intl.Collator() is an instance of Intl.Collator
10 PASS Intl.Collator('en') is an instance of Intl.Collator
11 PASS Intl.Collator(42) is an instance of Intl.Collator
12 PASS Intl.Collator(null) threw exception TypeError: null is not an object (evaluating 'Intl.Collator(null)').
13 PASS Intl.Collator({ get length() { throw 42; } }) threw exception 42.
14 PASS Intl.Collator('en', { }) is an instance of Intl.Collator
15 PASS Intl.Collator('en', 42) is an instance of Intl.Collator
16 PASS Intl.Collator('en', null) threw exception TypeError: null is not an object (evaluating 'Intl.Collator('en', null)').
17 PASS class DerivedCollator extends Intl.Collator {};(new DerivedCollator) instanceof DerivedCollator is true
18 PASS class DerivedCollator extends Intl.Collator {};(new DerivedCollator) instanceof Intl.Collator is true
19 PASS class DerivedCollator extends Intl.Collator {};new DerivedCollator().compare('a', 'b') === -1 is true
20 PASS class DerivedCollator extends Intl.Collator {};Object.getPrototypeOf(new DerivedCollator) === DerivedCollator.prototype is true
21 PASS class DerivedCollator extends Intl.Collator {};Object.getPrototypeOf(Object.getPrototypeOf(new DerivedCollator)) === Intl.Collator.prototype is true
22 PASS testCollator(Intl.Collator('en'), [{locale: 'en'}]) is true
23 PASS testCollator(Intl.Collator('eN-uS'), [{locale: 'en-US'}]) is true
24 PASS testCollator(Intl.Collator(['en', 'de']), [{locale: 'en'}]) is true
25 PASS testCollator(Intl.Collator('de'), [{locale: 'de'}]) is true
26 PASS testCollator(Intl.Collator('en-u-co-eor'), [{locale: 'en-u-co-eor', collation: 'eor'}, {locale: 'en'}]) is true
27 PASS testCollator(new Intl.Collator('en-u-co-eor'), [{locale: 'en-u-co-eor', collation: 'eor'}, {locale: 'en'}]) is true
28 PASS testCollator(Intl.Collator('En-U-Co-Eor'), [{locale: 'en-u-co-eor', collation: 'eor'}, {locale: 'en'}]) is true
29 PASS testCollator(Intl.Collator('en-u-co-phonebk'), [{locale: 'en'}]) is true
30 PASS testCollator(Intl.Collator('en-u-co-standard'), [{locale: 'en'}]) is true
31 PASS testCollator(Intl.Collator('en-u-co-search'), [{locale: 'en'}]) is true
32 PASS testCollator(Intl.Collator('en-u-co-abcd'), [{locale: 'en'}]) is true
33 PASS testCollator(Intl.Collator('de-u-co-phonebk'), [{locale: 'de-u-co-phonebk', collation: 'phonebk'}]) is true
34 PASS testCollator(Intl.Collator('en-u-kn'), [{locale: 'en', numeric: true}]) is true
35 PASS testCollator(Intl.Collator('en-u-kn-true'), [{locale: 'en-u-kn-true', numeric: true}]) is true
36 PASS testCollator(Intl.Collator('en-u-kn-false'), [{locale: 'en-u-kn-false', numeric: false}]) is true
37 PASS testCollator(Intl.Collator('en-u-kn-abcd'), [{locale: 'en'}]) is true
38 PASS testCollator(Intl.Collator('en-u-aa-aaaa-kn-true-bb-bbbb-co-eor-cc-cccc-y-yyd'), [{locale: 'en-u-co-eor-kn-true', collation: 'eor', numeric: true}, {locale: 'en-u-kn-true', numeric: true}]) is true
39 PASS testCollator(Intl.Collator('en-u-kn-true-a-aa'), [{locale: 'en-u-kn-true', numeric: true}]) is true
40 PASS testCollator(Intl.Collator('en-a-aa-u-kn-true'), [{locale: 'en-u-kn-true', numeric: true}]) is true
41 PASS testCollator(Intl.Collator('en-a-aa-u-kn-true-b-bb'), [{locale: 'en-u-kn-true', numeric: true}]) is true
42 PASS testCollator(Intl.Collator('en', {usage: 'sort'}), [{locale: 'en', usage: 'sort'}]) is true
43 PASS testCollator(Intl.Collator('en', {usage: 'search'}), [{locale: 'en', usage: 'search'}]) is true
44 PASS Intl.Collator('en', {usage: 'Sort'}) threw exception RangeError: usage must be either "sort" or "search".
45 PASS Intl.Collator('en', { get usage() { throw 42; } }) threw exception 42.
46 PASS Intl.Collator('en', {usage: {toString() { throw 42; }}}) threw exception 42.
47 PASS testCollator(Intl.Collator('en', {localeMatcher: 'lookup'}), [{locale: 'en'}]) is true
48 PASS testCollator(Intl.Collator('en', {localeMatcher: 'best fit'}), [{locale: 'en'}]) is true
49 PASS Intl.Collator('en', {localeMatcher: 'LookUp'}) threw exception RangeError: localeMatcher must be either "lookup" or "best fit".
50 PASS Intl.Collator('en', { get localeMatcher() { throw 42; } }) threw exception 42.
51 PASS testCollator(Intl.Collator('en', {numeric: true}), [{locale: 'en', numeric: true}]) is true
52 PASS testCollator(Intl.Collator('en', {numeric: false}), [{locale: 'en', numeric: false}]) is true
53 PASS testCollator(Intl.Collator('en', {numeric: 'false'}), [{locale: 'en', numeric: true}]) is true
54 PASS testCollator(Intl.Collator('en', {numeric: { }}), [{locale: 'en', numeric: true}]) is true
55 PASS Intl.Collator('en', { get numeric() { throw 42; } }) threw exception 42.
56 PASS testCollator(Intl.Collator('en', {caseFirst: 'upper'}), [{locale: 'en'}]) is true
57 PASS testCollator(Intl.Collator('en', {caseFirst: 'lower'}), [{locale: 'en'}]) is true
58 PASS testCollator(Intl.Collator('en', {caseFirst: 'false'}), [{locale: 'en'}]) is true
59 PASS testCollator(Intl.Collator('en', {caseFirst: false}), [{locale: 'en'}]) is true
60 PASS Intl.Collator('en', {caseFirst: 'true'}) threw exception RangeError: caseFirst must be either "upper", "lower", or "false".
61 PASS Intl.Collator('en', { get caseFirst() { throw 42; } }) threw exception 42.
62 PASS testCollator(Intl.Collator('en', {sensitivity: 'base'}), [{locale: 'en', sensitivity: 'base'}]) is true
63 PASS testCollator(Intl.Collator('en', {sensitivity: 'accent'}), [{locale: 'en', sensitivity: 'accent'}]) is true
64 PASS testCollator(Intl.Collator('en', {sensitivity: 'case'}), [{locale: 'en', sensitivity: 'case'}]) is true
65 PASS testCollator(Intl.Collator('en', {sensitivity: 'variant'}), [{locale: 'en', sensitivity: 'variant'}]) is true
66 PASS Intl.Collator('en', {sensitivity: 'abcd'}) threw exception RangeError: sensitivity must be either "base", "accent", "case", or "variant".
67 PASS Intl.Collator('en', { get sensitivity() { throw 42; } }) threw exception 42.
68 PASS testCollator(Intl.Collator('en', {ignorePunctuation: true}), [{locale: 'en', ignorePunctuation: true}]) is true
69 PASS testCollator(Intl.Collator('en', {ignorePunctuation: false}), [{locale: 'en', ignorePunctuation: false}]) is true
70 PASS testCollator(Intl.Collator('en', {ignorePunctuation: 'false'}), [{locale: 'en', ignorePunctuation: true}]) is true
71 PASS Intl.Collator('en', { get ignorePunctuation() { throw 42; } }) threw exception 42.
72 PASS testCollator(Intl.Collator('en-u-kn-true', {numeric: false}), [{locale: 'en', numeric: false}]) is true
73 PASS testCollator(Intl.Collator('en-u-kn-false', {numeric: true}), [{locale: 'en', numeric: true}]) is true
74 PASS testCollator(Intl.Collator('en-u-kn-true', {numeric: true}), [{locale: 'en-u-kn-true', numeric: true}]) is true
75 PASS testCollator(Intl.Collator('en-u-kn-false', {numeric: false}), [{locale: 'en-u-kn-false', numeric: false}]) is true
76 PASS testCollator(Intl.Collator('en-a-aa-u-kn-false-co-eor-b-bb', {usage: 'sort', numeric: true, caseFirst: 'lower', sensitivity: 'case', ignorePunctuation: true}), [{locale: 'en-u-co-eor', usage: 'sort', sensitivity: 'case', ignorePunctuation: true, collation: 'eor', numeric: true}, {locale: 'en', usage: 'sort', sensitivity: 'case', ignorePunctuation: true, numeric: true}]) is true
77 PASS Intl.Collator.length is 0
78 PASS Object.getOwnPropertyDescriptor(Intl.Collator, 'prototype').writable is false
79 PASS Object.getOwnPropertyDescriptor(Intl.Collator, 'prototype').enumerable is false
80 PASS Object.getOwnPropertyDescriptor(Intl.Collator, 'prototype').configurable is false
81 PASS Intl.Collator.supportedLocalesOf.length is 1
82 PASS Intl.Collator.supportedLocalesOf() is an instance of Array
83 PASS Intl.Collator.supportedLocalesOf.call(null, 'en') is [ 'en' ]
84 PASS Intl.Collator.supportedLocalesOf.call({}, 'en') is [ 'en' ]
85 PASS Intl.Collator.supportedLocalesOf.call(1, 'en') is [ 'en' ]
86 PASS Intl.Collator.supportedLocalesOf(9) is []
87 PASS Intl.Collator.supportedLocalesOf('en') is [ 'en' ]
88 PASS Intl.Collator.supportedLocalesOf({ length: 4, 1: 'en', 0: 'es', 3: 'de' }) is [ 'es', 'en', 'de' ]
89 PASS Intl.Collator.supportedLocalesOf([ 'en', 'pt', 'en', 'es' ]) is [ 'en', 'pt', 'es' ]
90 PASS Intl.Collator.supportedLocalesOf('En-laTn-us-variant2-variant1-1abc-U-ko-tRue-A-aa-aaa-x-RESERVED') is [ 'en-Latn-US-variant2-variant1-1abc-a-aa-aaa-u-ko-true-x-reserved' ]
91 PASS Intl.Collator.supportedLocalesOf('no-bok') is [ 'nb' ]
92 PASS Intl.Collator.supportedLocalesOf('x-some-thing') is []
93 PASS Intl.Collator.supportedLocalesOf(Object.create(null, { length: { get() { throw Error('a') } } })) threw exception Error: a.
94 PASS Intl.Collator.supportedLocalesOf(Object.create(null, { length: { value: 1 }, 0: { get() { throw Error('b') } } })) threw exception Error: b.
95 PASS Intl.Collator.supportedLocalesOf([ { toString() { throw Error('c') } } ]) threw exception Error: c.
96 PASS Intl.Collator.supportedLocalesOf([ 5 ]) threw exception TypeError: locale value must be a string or object.
97 PASS Intl.Collator.supportedLocalesOf('') threw exception RangeError: invalid language tag: .
98 PASS Intl.Collator.supportedLocalesOf('a') threw exception RangeError: invalid language tag: a.
99 PASS Intl.Collator.supportedLocalesOf('abcdefghij') threw exception RangeError: invalid language tag: abcdefghij.
100 PASS Intl.Collator.supportedLocalesOf('#$') threw exception RangeError: invalid language tag: #$.
101 PASS Intl.Collator.supportedLocalesOf('en-@-abc') threw exception RangeError: invalid language tag: en-@-abc.
102 PASS Intl.Collator.supportedLocalesOf('en-u') threw exception RangeError: invalid language tag: en-u.
103 PASS Intl.Collator.supportedLocalesOf('en-u-kn-true-u-ko-true') threw exception RangeError: invalid language tag: en-u-kn-true-u-ko-true.
104 PASS Intl.Collator.supportedLocalesOf('en-x') threw exception RangeError: invalid language tag: en-x.
105 PASS Intl.Collator.supportedLocalesOf('en-*') threw exception RangeError: invalid language tag: en-*.
106 PASS Intl.Collator.supportedLocalesOf('en-') threw exception RangeError: invalid language tag: en-.
107 PASS Intl.Collator.supportedLocalesOf('en--US') threw exception RangeError: invalid language tag: en--US.
108 PASS Intl.Collator.prototype.constructor is Intl.Collator
109 PASS Intl.Collator.prototype.compare is an instance of Function
110 PASS Object.getOwnPropertyDescriptor(Intl.Collator.prototype, 'compare').get is an instance of Function
111 PASS Object.getOwnPropertyDescriptor(Intl.Collator.prototype, 'compare').set is undefined
112 PASS Object.getOwnPropertyDescriptor(Intl.Collator.prototype, 'compare').enumerable is false
113 PASS Object.getOwnPropertyDescriptor(Intl.Collator.prototype, 'compare').configurable is true
114 PASS Intl.Collator.prototype.compare.length is 2
115 PASS Object.defineProperty({}, 'compare', Object.getOwnPropertyDescriptor(Intl.Collator.prototype, 'compare')).compare threw exception TypeError: Intl.Collator.prototype.compare called on value that's not an object initialized as a Collator.
116 PASS Intl.Collator.prototype.compare !== Intl.Collator().compare is true
117 PASS new Intl.Collator().compare !== new Intl.Collator().compare is true
118 PASS Intl.Collator.prototype.compare({ toString() { throw Error('6') } }, { toString() { ++badCalls; return ''; } }) threw exception Error: 6.
119 PASS badCalls is 0
120 PASS Intl.Collator.prototype.compare('a', { toString() { throw Error('8') } }) threw exception Error: 8.
121 PASS Intl.Collator.prototype.compare.call(null, 'a', 'b') is -1
122 PASS Intl.Collator.prototype.compare.call(Intl.Collator('en', { sensitivity:'base' }), 'A', 'a') is -1
123 PASS Intl.Collator.prototype.compare.call(5, 'a', 'b') is -1
124 PASS new Intl.Collator().compare.call(null, 'a', 'b') is -1
125 PASS new Intl.Collator().compare.call(Intl.Collator('en', { sensitivity:'base' }), 'A', 'a') is -1
126 PASS new Intl.Collator().compare.call(5, 'a', 'b') is -1
127 PASS Intl.Collator.prototype.resolvedOptions.length is 0
128 PASS Intl.Collator.prototype.resolvedOptions() is an instance of Object
129 PASS Intl.Collator.prototype.resolvedOptions() === Intl.Collator.prototype.resolvedOptions() is false
130 PASS Intl.Collator.prototype.resolvedOptions.call(5) threw exception TypeError: Intl.Collator.prototype.resolvedOptions called on value that's not an object initialized as a Collator.
131 PASS successfullyParsed is true
132
133 TEST COMPLETE
134