/******************************************************************************* uBlock Origin - a browser extension to block requests. Copyright (C) 2014-present Raymond Hill This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. Home: https://github.com/gorhill/uBlock */ 'use strict'; /******************************************************************************/ import { strict as assert } from 'assert'; import { createWorld } from 'esm-world'; import './_common.js'; describe('WASM', () => { context('WebAssembly available', () => { it('should fulfill with true', async () => { const { enableWASM } = await createWorld('./index.js', { globals: { URL, WebAssembly } }); assert.equal(await enableWASM(), true); }); }); context('WebAssembly not available', () => { it('should fulfill with false', async () => { // WebAssembly must be set to undefined explicitly; otherwise // createWorld() ends up using the global WebAssembly object // anyway. const { enableWASM } = await createWorld('./index.js', { globals: { URL, WebAssembly: undefined } }); assert.equal(await enableWASM(), false); }); }); });