28 lines
838 B
JavaScript
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'});
|
|
});
|
|
});
|