summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/generators/restricted-properties.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/language/statements/generators/restricted-properties.js')
-rw-r--r--js/src/tests/test262/language/statements/generators/restricted-properties.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/generators/restricted-properties.js b/js/src/tests/test262/language/statements/generators/restricted-properties.js
new file mode 100644
index 0000000000..262e6d762b
--- /dev/null
+++ b/js/src/tests/test262/language/statements/generators/restricted-properties.js
@@ -0,0 +1,37 @@
+// Copyright (C) 2015 Caitlin Potter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ Functions created using GeneratorFunction syntactic form do not have own
+ properties "caller" or "arguments", but inherit them from
+ %FunctionPrototype%.
+features: [generators]
+---*/
+
+function* generator() {}
+
+assert.sameValue(
+ generator.hasOwnProperty('caller'), false, 'No "caller" own property'
+);
+assert.sameValue(
+ generator.hasOwnProperty('arguments'), false, 'No "arguments" own property'
+);
+
+assert.throws(TypeError, function() {
+ return generator.caller;
+});
+
+assert.throws(TypeError, function() {
+ generator.caller = {};
+});
+
+assert.throws(TypeError, function() {
+ return generator.arguments;
+});
+
+assert.throws(TypeError, function() {
+ generator.arguments = {};
+});
+
+reportCompare(0, 0);