From f579f1aa47a0ba13955433b90b56bea241849f83 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Sun, 13 Dec 2020 18:05:07 +0000 Subject: [PATCH] emulate global context in Node.js & web (#4379) --- test/compress/ie8.js | 4 ---- test/sandbox.js | 11 ++++++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/test/compress/ie8.js b/test/compress/ie8.js index c5b8b155..c28512ac 100644 --- a/test/compress/ie8.js +++ b/test/compress/ie8.js @@ -588,7 +588,6 @@ issue_3197_1: { ie8: false, } input: { - var window = {}; !function() { function Foo() { console.log(this instanceof Foo); @@ -598,7 +597,6 @@ issue_3197_1: { new window.Foo(); } expect: { - var window = {}; window.Foo = function o() { console.log(this instanceof o); }; @@ -619,7 +617,6 @@ issue_3197_1_ie8: { ie8: true, } input: { - var window = {}; !function() { function Foo() { console.log(this instanceof Foo); @@ -629,7 +626,6 @@ issue_3197_1_ie8: { new window.Foo(); } expect: { - var window = {}; window.Foo = function Foo() { console.log(this instanceof Foo); }; diff --git a/test/sandbox.js b/test/sandbox.js index 46b1a410..f659427d 100644 --- a/test/sandbox.js +++ b/test/sandbox.js @@ -26,10 +26,19 @@ var setupContext = new vm.Script([ ]).join("\n")); function createContext() { - var ctx = vm.createContext(Object.defineProperty({}, "console", { value: { log: log } })); + var ctx = vm.createContext(Object.defineProperties({}, { + console: { value: { log: log } }, + global: { get: self }, + self: { get: self }, + window: { get: self }, + })); var global = setupContext.runInContext(ctx); return ctx; + function self() { + return this; + } + function safe_log(arg, level) { if (arg) switch (typeof arg) { case "function": -- 2.34.1