Skip to content

Commit 2bf88fd

Browse files
authored
test: start adding capability smoke tests (#784)
1 parent 5cb19c6 commit 2bf88fd

4 files changed

Lines changed: 41 additions & 0 deletions

File tree

‎test/assets/wasm/table2.html‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<script>
2+
async function loadTable() {
3+
const tbl = new WebAssembly.Table({ initial: 2, element: 'anyfunc' });
4+
const response = await fetch('table2.wasm');
5+
const body = await response.arrayBuffer();
6+
await WebAssembly.instantiate(body, { js: { tbl: tbl } });
7+
return `${tbl.get(0)()}, ${tbl.get(1)()}`;
8+
}
9+
</script>

‎test/assets/wasm/table2.wasm‎

58 Bytes
Binary file not shown.

‎test/capabilities.spec.js‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* Copyright Microsoft Corporation. All rights reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
const utils = require('./utils');
18+
const { waitEvent } = utils;
19+
20+
module.exports.describe = function({testRunner, expect}) {
21+
const {describe, xdescribe, fdescribe} = testRunner;
22+
const {it, fit, xit, dit} = testRunner;
23+
const {beforeAll, beforeEach, afterAll, afterEach} = testRunner;
24+
25+
describe('Capabilities', function() {
26+
it('Web Assembly should work', async function({page, server}) {
27+
await page.goto(server.PREFIX + '/wasm/table2.html');
28+
expect(await page.evaluate(() => loadTable())).toBe('42, 83');
29+
});
30+
});
31+
};

‎test/playwright.spec.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ module.exports.describe = ({testRunner, product, playwrightPath}) => {
171171
testRunner.loadTests(require('./interception.spec.js'), testOptions);
172172
testRunner.loadTests(require('./geolocation.spec.js'), testOptions);
173173
testRunner.loadTests(require('./workers.spec.js'), testOptions);
174+
testRunner.loadTests(require('./capabilities.spec.js'), testOptions);
174175

175176
if (CHROMIUM) {
176177
testRunner.loadTests(require('./chromium/chromium.spec.js'), testOptions);

0 commit comments

Comments
 (0)