mirror of https://github.com/tc39/test262.git
38 lines
968 B
JavaScript
38 lines
968 B
JavaScript
|
// 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 = {};
|
||
|
});
|