tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

instance-restricted-properties.js (990B)


      1 // Copyright (C) 2015 Caitlin Potter. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 description: >
      6    Functions created using GeneratorFunction intrinsic function do not have
      7    own properties "caller" or "arguments", but inherit them from
      8    %FunctionPrototype%.
      9 features: [generators]
     10 ---*/
     11 
     12 var Generator = Object.getPrototypeOf(function*() {});
     13 var GeneratorFunction = Generator.constructor;
     14 var generator = new GeneratorFunction();
     15 
     16 assert.sameValue(
     17  generator.hasOwnProperty('caller'), false, 'No "caller" own property'
     18 );
     19 assert.sameValue(
     20  generator.hasOwnProperty('arguments'), false, 'No "arguments" own property'
     21 );
     22 
     23 assert.throws(TypeError, function() {
     24  return generator.caller;
     25 });
     26 
     27 assert.throws(TypeError, function() {
     28  generator.caller = {};
     29 });
     30 
     31 assert.throws(TypeError, function() {
     32  return generator.arguments;
     33 });
     34 
     35 assert.throws(TypeError, function() {
     36  generator.arguments = {};
     37 });
     38 
     39 reportCompare(0, 0);