performProxyCall should toThis the value passed to its handler
[WebKit-https.git] / JSTests / stress / proxy-call-apply-handler-to-this.js
1 //@ runDefault("--useBigInt=1")
2
3 let expectedThis;
4
5 function applyHandler(target, thisValue) {
6     if (thisValue !== expectedThis)
7         throw new Error("got weird this value: " + thisValue);
8 }
9
10 let handler = {
11     apply: applyHandler
12 };
13 let f = new Proxy(function() {}, handler);
14
15 function withScope(o) {
16     with (o) {
17         f();
18     }
19 }
20
21 function lexicalScope() {
22     let x;
23     f();
24 }
25
26 // globalScope
27 f();
28
29 function strictEvalScope() {
30     "use strict";
31     eval("var x; f();");
32 }
33
34 let primitives = [undefined, null, true, 1.324, "test", Symbol("test"), BigInt(12), {}, []];
35
36 for (let primitive of primitives) {
37     expectedThis = primitive;
38     f.call(primitive);
39 }