js/src/tests/test262/intl402/ch10/10.1/10.1.1_19_b.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 // Copyright 2012 Mozilla Corporation. All rights reserved.
michael@0 2 // This code is governed by the BSD license found in the LICENSE file.
michael@0 3
michael@0 4 /**
michael@0 5 * @description Tests the special handling of the "co" key in Intl.Collator.
michael@0 6 * @author Norbert Lindenberg
michael@0 7 */
michael@0 8
michael@0 9 function checkCollation(extensionCoValue, usageValue, expectedCollations, expectedUsage) {
michael@0 10 var requestLocale = extensionCoValue !== undefined ? "de-DE-u-co-" + extensionCoValue : "de-DE";
michael@0 11 var options = usageValue !== undefined ? { usage: usageValue } : undefined;
michael@0 12 var collator = new Intl.Collator([requestLocale], options);
michael@0 13
michael@0 14 var collation = collator.resolvedOptions().collation;
michael@0 15 if (expectedCollations.indexOf(collation) === -1) {
michael@0 16 $ERROR((extensionCoValue === undefined ? "Default collation" : "Collation for \"" + extensionCoValue) +
michael@0 17 "\" should be " + expectedCollations.join(" or ") + ", but is " + collation + ".");
michael@0 18 }
michael@0 19
michael@0 20 var usage = collator.resolvedOptions().usage;
michael@0 21 if (expectedUsage !== usage) {
michael@0 22 $ERROR((usageValue === undefined ? "Default usage" : "Usage") +
michael@0 23 " should be " + expectedUsage + ", but is " + usage + ".");
michael@0 24 }
michael@0 25 }
michael@0 26
michael@0 27 checkCollation(undefined, undefined, ["default"], "sort");
michael@0 28
michael@0 29 checkCollation("phonebk", undefined, ["phonebk", "default"], "sort");
michael@0 30
michael@0 31 checkCollation("invalid", undefined, ["default"], "sort");
michael@0 32
michael@0 33 checkCollation("standard", undefined, ["default"], "sort");
michael@0 34
michael@0 35 checkCollation("standard", "search", ["default"], "search");
michael@0 36
michael@0 37 checkCollation("standard", "sort", ["default"], "sort");
michael@0 38
michael@0 39 checkCollation("search", undefined, ["default"], "sort");
michael@0 40
michael@0 41 checkCollation("search", "search", ["default"], "search");
michael@0 42
michael@0 43 checkCollation("search", "sort", ["default"], "sort");
michael@0 44

mercurial