| // 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 intrinsic function do not have |
| own properties "caller" or "arguments", but inherit them from |
| %FunctionPrototype%. |
| features: [generators] |
| ---*/ |
| |
| var Generator = Object.getPrototypeOf(function*() {}); |
| var GeneratorFunction = Generator.constructor; |
| var generator = new GeneratorFunction(); |
| |
| 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 = {}; |
| }); |