Skip to content
Snippets Groups Projects
Commit 03e862ee authored by Mike Pennisi's avatar Mike Pennisi
Browse files

Re-organize generator tests

The `test/language/generators/` directory contained a single file that
concerned generators derived both from syntactic form and from a
built-in function.

Refactor this test into two files and place each in the appropriate
directory.
parent f4e17963
No related branches found
No related tags found
No related merge requests found
// 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 = {};
});
// Copyright (C) 2015 Caitlin Potter. All rights reserved. // Copyright (C) 2015 Caitlin Potter. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file. // This code is governed by the BSD license found in the LICENSE file.
/*--- /*---
description: > description: >
Functions created using GeneratorFunction syntactic form do not Functions created using GeneratorFunction syntactic form do not have own
have own properties "caller" or "arguments", but inherit them from properties "caller" or "arguments", but inherit them from
%FunctionPrototype%. %FunctionPrototype%.
features: [generators] features: [generators]
---*/ ---*/
function* generator() {} function* generator() {}
assert.sameValue(generator.hasOwnProperty('caller'), false, 'Functions created using ArrowFunction syntactic form do not have own property "caller"'); assert.sameValue(
assert.sameValue(generator.hasOwnProperty('arguments'), false, 'Functions created using ArrowFunction syntactic form do not have own property "arguments"'); generator.hasOwnProperty('caller'), false, 'No "caller" own property'
);
assert.sameValue(
generator.hasOwnProperty('arguments'), false, 'No "arguments" own property'
);
assert.throws(TypeError, function() { assert.throws(TypeError, function() {
return generator.caller; return generator.caller;
...@@ -29,26 +33,3 @@ assert.throws(TypeError, function() { ...@@ -29,26 +33,3 @@ assert.throws(TypeError, function() {
assert.throws(TypeError, function() { assert.throws(TypeError, function() {
generator.arguments = {}; generator.arguments = {};
}); });
var Generator = Object.getPrototypeOf(generator);
var GeneratorFunction = Generator.constructor;
var newgenerator = new GeneratorFunction();
assert.sameValue(newgenerator.hasOwnProperty('caller'), false, 'Generators created using GeneratorFunction constructor do not have own property "caller"');
assert.sameValue(newgenerator.hasOwnProperty('arguments'), false, 'Generators created using GeneratorFunction constructor do not have own property "arguments"');
assert.throws(TypeError, function() {
return newgenerator.caller;
});
assert.throws(TypeError, function() {
newgenerator.caller = {};
});
assert.throws(TypeError, function() {
return newgenerator.arguments;
});
assert.throws(TypeError, function() {
newgenerator.arguments = {};
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment