aboutsummaryrefslogtreecommitdiffstats
path: root/test/suite/intl402/ch10/10.1/10.1.2_a.js
blob: de69a48093f5b88c22e45cd10c3007b1a2f2d1b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright 2011-2012 Norbert Lindenberg. All rights reserved.
// Copyright 2012 Mozilla Corporation. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/**
 * @description Tests that Intl.Collator can be subclassed.
 * @author Norbert Lindenberg
 */

$INCLUDE("testIntl.js");

// get a collator and have it sort an array for comparison with the subclass
var locales = ["tlh", "id", "en"];
var a = ["A", "C", "E", "B", "D", "F"];
var referenceCollator = new Intl.Collator(locales);
var referenceSorted = a.slice().sort(referenceCollator.compare);

function MyCollator(locales, options) {
    Intl.Collator.call(this, locales, options);
    // could initialize MyCollator properties
}

MyCollator.prototype = Object.create(Intl.Collator.prototype);
MyCollator.prototype.constructor = MyCollator;
// could add methods to MyCollator.prototype

var collator = new MyCollator(locales);
a.sort(collator.compare);
testArraysAreSame(referenceSorted, a);