From 8d0217b1d1283d693438e17db1ceb6c378b062c3 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 2 Dec 2019 12:25:39 -0800 Subject: [PATCH] test: improve wasi test coverage Add test coverage for options validation in WASI constructor. PR-URL: https://github.com/nodejs/node/pull/30770 Reviewed-By: Richard Lau Reviewed-By: Colin Ihrig Reviewed-By: Yongsheng Zhang Reviewed-By: Jiawen Geng Reviewed-By: Ruben Bridgewater Reviewed-By: Anna Henningsen --- test/wasi/test-wasi-options-validation.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 test/wasi/test-wasi-options-validation.js diff --git a/test/wasi/test-wasi-options-validation.js b/test/wasi/test-wasi-options-validation.js new file mode 100644 index 00000000000000..34ab7e078f1210 --- /dev/null +++ b/test/wasi/test-wasi-options-validation.js @@ -0,0 +1,22 @@ +'use strict'; + +// Flags: --experimental-wasi-unstable-preview0 + +require('../common'); +const assert = require('assert'); +const { WASI } = require('wasi'); + +// If args is undefined, it should default to [] and should not throw. +new WASI({}); + +// If args is not an Array and not undefined, it should throw. +assert.throws(() => { new WASI({ args: 'fhqwhgads' }); }, + { code: 'ERR_INVALID_ARG_TYPE' }); + +// If env is not an Object and not undefined, it should throw. +assert.throws(() => { new WASI({ env: 'fhqwhgads' }); }, + { code: 'ERR_INVALID_ARG_TYPE' }); + +// If preopens is not an Object and not undefined, it should throw. +assert.throws(() => { new WASI({ preopens: 'fhqwhgads' }); }, + { code: 'ERR_INVALID_ARG_TYPE' });