blob: a7c049e9086088f0825d06114a4557fce4efbb64 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5if ("Intl" in this) {
6 function overflow() {
7 return overflow() + 1;
8 }
9 Object.defineProperty = overflow;
10 assertDoesNotThrow(function() { Intl.Collator.supportedLocalesOf("en"); });
11
12 var date = new Date(Date.UTC(2004, 12, 25, 3, 0, 0));
13 var options = {
14 weekday: "long",
15 year: "numeric",
16 month: "long",
17 day: "numeric"
18 };
19
20 Object.apply = overflow;
21 assertDoesNotThrow(function() { date.toLocaleDateString("de-DE", options); });
22
23 var options_incomplete = {};
24 assertDoesNotThrow(function() {
25 date.toLocaleDateString("de-DE", options_incomplete);
26 });
27 assertTrue(options_incomplete.hasOwnProperty("year"));
28
29 assertDoesNotThrow(function() { date.toLocaleDateString("de-DE", undefined); });
30 assertDoesNotThrow(function() { date.toLocaleDateString("de-DE"); });
31 assertThrows(function() { date.toLocaleDateString("de-DE", null); }, TypeError);
32}