Index: test/mjsunit/regress/regress-builtinbust-7.js |
diff --git a/test/mjsunit/regress/regress-builtinbust-7.js b/test/mjsunit/regress/regress-builtinbust-7.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7d883b86ceae37f5ed7db9b2f3074a37f2005782 |
--- /dev/null |
+++ b/test/mjsunit/regress/regress-builtinbust-7.js |
@@ -0,0 +1,30 @@ |
+// Copyright 2014 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+function overflow() { |
+ return overflow() + 1; |
+} |
+Object.defineProperty = overflow; |
+assertDoesNotThrow(function() { Intl.Collator.supportedLocalesOf("en"); }); |
+ |
+var date = new Date(Date.UTC(2004, 12, 25, 3, 0, 0)); |
+var options = { |
+ weekday: "long", |
+ year: "numeric", |
+ month: "long", |
+ day: "numeric" |
+}; |
+ |
+Object.apply = overflow; |
+assertDoesNotThrow(function() { date.toLocaleDateString("de-DE", options); }); |
+ |
+var options_incomplete = {}; |
+assertDoesNotThrow(function() { |
+ date.toLocaleDateString("de-DE", options_incomplete); |
+}); |
+assertTrue(options_incomplete.hasOwnProperty("year")); |
+ |
+assertDoesNotThrow(function() { date.toLocaleDateString("de-DE", undefined); }); |
+assertDoesNotThrow(function() { date.toLocaleDateString("de-DE"); }); |
+assertThrows(function() { date.toLocaleDateString("de-DE", null); }, TypeError); |