33 lines
740 B
JavaScript
33 lines
740 B
JavaScript
|
const JsUnit = imports.jsUnit;
|
||
|
const Params = imports.misc.params;
|
||
|
|
||
|
function assertParamsEqual(params, expected) {
|
||
|
for (let p in params) {
|
||
|
JsUnit.assertTrue(p in expected);
|
||
|
JsUnit.assertEquals(params[p], expected[p]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
let defaults = {
|
||
|
foo: 'This is a test',
|
||
|
bar: null,
|
||
|
baz: 42
|
||
|
};
|
||
|
|
||
|
assertParamsEqual(
|
||
|
Params.parse(null, defaults),
|
||
|
defaults);
|
||
|
|
||
|
assertParamsEqual(
|
||
|
Params.parse({ bar: 23 }, defaults),
|
||
|
{ foo: 'This is a test', bar: 23, baz: 42 });
|
||
|
|
||
|
JsUnit.assertRaises(
|
||
|
() => {
|
||
|
Params.parse({ extraArg: 'quz' }, defaults);
|
||
|
});
|
||
|
|
||
|
assertParamsEqual(
|
||
|
Params.parse({ extraArg: 'quz' }, defaults, true),
|
||
|
{ foo: 'This is a test', bar: null, baz: 42, extraArg: 'quz' });
|