/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ if (!globalThis.$262) { globalThis.$262 = { global: globalThis, evalScript(code) { try { global.evalScript(code); return { type: 'normal', value: undefined }; } catch (e) { return { type: 'throw', value: e }; } }, gc() { throw new Test262Error('gc() not yet supported.'); }, getGlobal(name) { return global[name]; }, setGlobal(name, value) { global[name] = value; }, agent: (function () { function thrower() { throw new Test262Error('agent.* not yet supported.'); }; return { start: thrower, broadcast: thrower, getReport: thrower, sleep: thrower, monotonicNow: thrower, }; })(), }; } $262.IsHTMLDDA = function () { }; $262.destroy = function () { }; $262.getGlobal = function (name) { return this.global[name]; }; $262.setGlobal = function (name, value) { this.global[name] = value; }; $262.source = $SOURCE;