summaryrefslogtreecommitdiffstats
path: root/js/src/tests/Intl/extensions/options-value-emulates-undefined.js
blob: a154e0c37fc7050f5611a2787c60a2715b4975dd (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
31
32
33
34
35
// |reftest| skip-if(!xulRuntime.shell)
// Any copyright is dedicated to the Public Domain.
// http://creativecommons.org/licenses/publicdomain/

//-----------------------------------------------------------------------------
var BUGNUMBER = 843004;
var summary =
  "Use of an object that emulates |undefined| as the sole option must " +
  "preclude imputing default values";

print(BUGNUMBER + ": " + summary);

if (typeof Intl !== 'object' && typeof quit == 'function') {
  print("Test skipped");
  reportCompare(true, true);
  quit(0);
}

/**************
 * BEGIN TEST *
 **************/

var opt = objectEmulatingUndefined();
opt.toString = function() { return "long"; };

var str = new Date(2013, 12 - 1, 14).toLocaleString("en-US", { weekday: opt });

// Because "weekday" was present and not undefined (stringifying to "long"),
// this must be a string like "Saturday" (in this implementation, that is).
assertEq(str, "Saturday");

if (typeof reportCompare === "function")
  reportCompare(true, true);

print("Tests complete");