Files
Zachary D. Rowitsch 93e0875dee
All checks were successful
ci / fast (linux) (push) Successful in 6m30s
Re-curate Test262 suite: expand to built-ins, add 500 tier-1 tests
Tier-1 (vendored PR gate): 751 → 1,251 tests (884 pass, 71%)
  - Added 500 tests across ASI, expressions, literals, keywords,
    identifiers, line-terminators, future-reserved-words, and more
  - 298 of 500 new tests pass immediately

Tier-2 (full upstream): 4,745 → 15,435 tests (3,230 pass, 21%)
  - scan_test262.py now scans both language/ and built-ins/ by default
  - Promoted 943 newly passing built-in tests (Boolean, Object, Array,
    String, Number, Function, etc.)
  - Skipped 4 flaky property-enumeration-order tests

Also fixed scan script to emit reason field for skip status entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:44:07 -05:00

40 lines
1.2 KiB
JavaScript

// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-globaldeclarationinstantiation
es6id: 15.1.8
description: Let binding collision with existing lexical declaration
info: |
[...]
5. For each name in lexNames, do
a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
exception.
b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
exception.
---*/
let test262Let;
const test262Const = null;
class test262Class {}
assert.throws(SyntaxError, function() {
$262.evalScript('var x; let test262Let;');
}, '`let` binding');
assert.throws(ReferenceError, function() {
x;
}, 'No bindings created for script containing `let` redeclaration');
assert.throws(SyntaxError, function() {
$262.evalScript('var x; let test262Const;');
}, '`const` binding');
assert.throws(ReferenceError, function() {
x;
}, 'No bindings created for script containing `const` redeclaration');
assert.throws(SyntaxError, function() {
$262.evalScript('var x; let test262Class;');
}, '`class` binding');
assert.throws(ReferenceError, function() {
x;
}, 'No bindings created for script containing `class` redeclaration');