Files
rust_browser/tests/external/js262/test262/language/expressions/arrow-function/cannot-override-this-with-thisArg.js
Zachary D. Rowitsch 2240f6c518 Expand Test262 coverage to 550 tests (Phase B)
Vendor 500 new real Test262 tests (total 550), relax curation filters for
now-supported features (arrow functions, classes, destructuring, spread/rest,
for-in/of, template literals, let/const, instanceof), add automated triage
script, and track pass rate as a CI metric. 190/550 pass (34.5%).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 14:20:22 -05:00

30 lines
772 B
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.2
description: >
ArrowFunction `this` cannot be overridden by thisArg
9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope)
...
9. If kind is Arrow, set the [[ThisMode]] internal slot of F to lexical.
...
9.2.1.2 OrdinaryCallBindThis ( F, calleeContext, thisArgument )
1. Let thisMode be the value of Fs [[ThisMode]] internal slot.
2. If thisMode is lexical, return NormalCompletion(undefined).
...
---*/
var calls = 0;
var usurper = {};
[1].forEach(value => {
calls++;
assert.notSameValue(this, usurper);
}, usurper);
assert.sameValue(calls, 1);