tor-browser

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

script-decl-lex-var.js (885B)


      1 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 esid: sec-globaldeclarationinstantiation
      5 es6id: 15.1.8
      6 description: Let binding collision with existing var declaration
      7 info: |
      8  [...]
      9  5. For each name in lexNames, do
     10     a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
     11        exception.
     12 ---*/
     13 
     14 var test262Var;
     15 function test262Fn() {}
     16 
     17 assert.throws(SyntaxError, function() {
     18  $262.evalScript('var x; let test262Var;');
     19 }, 'variable');
     20 
     21 assert.throws(ReferenceError, function() {
     22  x;
     23 }, 'no bindings created (script shadowing variable)');
     24 
     25 assert.throws(SyntaxError, function() {
     26  $262.evalScript('var x; let test262Fn;');
     27 }, 'function');
     28 
     29 assert.throws(ReferenceError, function() {
     30  x;
     31 }, 'no bindings created (script shadowing function)');
     32 
     33 reportCompare(0, 0);