mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 22:40:28 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
40 lines
675 B
JavaScript
40 lines
675 B
JavaScript
//@ runDefault("--useBigInt=1")
|
|
|
|
let expectedThis;
|
|
|
|
function applyHandler(target, thisValue) {
|
|
if (thisValue !== expectedThis)
|
|
throw new Error("got weird this value: " + thisValue);
|
|
}
|
|
|
|
let handler = {
|
|
apply: applyHandler
|
|
};
|
|
let f = new Proxy(function() {}, handler);
|
|
|
|
function withScope(o) {
|
|
with (o) {
|
|
f();
|
|
}
|
|
}
|
|
|
|
function lexicalScope() {
|
|
let x;
|
|
f();
|
|
}
|
|
|
|
// globalScope
|
|
f();
|
|
|
|
function strictEvalScope() {
|
|
"use strict";
|
|
eval("var x; f();");
|
|
}
|
|
|
|
let primitives = [undefined, null, true, 1.324, "test", Symbol("test"), BigInt(12), {}, []];
|
|
|
|
for (let primitive of primitives) {
|
|
expectedThis = primitive;
|
|
f.call(primitive);
|
|
}
|