summaryrefslogtreecommitdiff
path: root/deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js')
-rw-r--r--deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js b/deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js
new file mode 100644
index 0000000000..ef843d4bb4
--- /dev/null
+++ b/deps/v8/test/test262/local-tests/test/intl402/DateTimeFormat/12.1.1_1.js
@@ -0,0 +1,42 @@
+// Copyright 2012 Mozilla Corporation. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 12.1.1_1
+description: Tests that the this-value is ignored in DateTimeFormat.
+author: Norbert Lindenberg
+includes: [testIntl.js]
+---*/
+
+testWithIntlConstructors(function (Constructor) {
+ var obj, newObj;
+
+ if (Constructor === Intl.DateTimeFormat) {
+ obj = new Constructor();
+ newObj = Intl.DateTimeFormat.call(obj);
+ if (obj !== newObj) {
+ $ERROR("Should have modified existing object.");
+ }
+ var key = Object.getOwnPropertySymbols(newObj)[0];
+ if (!(newObj[key] instanceof Intl.DateTimeFormat)) {
+ $ERROR("Should have installed a DateTimeFormat instance.");
+ }
+ return true;
+ }
+
+ // variant 1: use constructor in a "new" expression
+ obj = new Constructor();
+ newObj = Intl.DateTimeFormat.call(obj);
+ if (obj === newObj) {
+ $ERROR("DateTimeFormat object created with \"new\" was not ignored as this-value.");
+ }
+
+ // variant 2: use constructor as a function
+ obj = Constructor();
+ newObj = Intl.DateTimeFormat.call(obj);
+ if (obj === newObj) {
+ $ERROR("DateTimeFormat object created with constructor as function was not ignored as this-value.");
+ }
+
+ return true;
+});