Source code
Revision control
Copy as Markdown
Other Tools
// 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 = {};
});
reportCompare(0, 0);