gnome-shell/tests/unit/params.js

28 lines
838 B
JavaScript

import * as Params from 'resource:///org/gnome/shell/misc/params.js';
describe('Params.parse()', () => {
const defaults = {
foo: 'This is a test',
bar: null,
baz: 42,
};
it('applies default values', () => {
expect(Params.parse(null, defaults)).toEqual(defaults);
});
it('applies provided params', () => {
expect(Params.parse({bar: 23}, defaults))
.toEqual({foo: 'This is a test', bar: 23, baz: 42});
});
it('does not allow extra args by default', () => {
expect(() => Params.parse({extraArg: 'quz'}, defaults)).toThrow();
});
it('does allow extra args when requested', () => {
expect(Params.parse({extraArg: 'quz'}, defaults, true))
.toEqual({foo: 'This is a test', bar: null, baz: 42, extraArg: 'quz'});
});
});