summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/ThrowTypeError/unique-per-realm-function-proto.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/ThrowTypeError/unique-per-realm-function-proto.js')
-rw-r--r--js/src/tests/test262/built-ins/ThrowTypeError/unique-per-realm-function-proto.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/ThrowTypeError/unique-per-realm-function-proto.js b/js/src/tests/test262/built-ins/ThrowTypeError/unique-per-realm-function-proto.js
new file mode 100644
index 0000000000..ff4db54cb5
--- /dev/null
+++ b/js/src/tests/test262/built-ins/ThrowTypeError/unique-per-realm-function-proto.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2016 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-%throwtypeerror%
+description: >
+ %ThrowTypeError% is defined once for each realm.
+info: |
+ %ThrowTypeError% ( )
+
+ The %ThrowTypeError% intrinsic is an anonymous built-in function
+ object that is defined once for each realm.
+---*/
+
+var ThrowTypeError = Object.getOwnPropertyDescriptor(function() {
+ "use strict";
+ return arguments;
+}(), "callee").get;
+
+// Test with Function.prototype.arguments and Function.prototype.caller properties.
+var argumentsDesc = Object.getOwnPropertyDescriptor(Function.prototype, "arguments");
+var callerDesc = Object.getOwnPropertyDescriptor(Function.prototype, "caller");
+
+assert.sameValue(ThrowTypeError, argumentsDesc.get, "arguments.get");
+assert.sameValue(ThrowTypeError, argumentsDesc.set, "arguments.set");
+assert.sameValue(ThrowTypeError, callerDesc.set, "caller.set");
+assert.sameValue(ThrowTypeError, callerDesc.get, "caller.get");
+
+reportCompare(0, 0);