mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
tests: Port Params.parse() test to jasmine
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>
This commit is contained in:
parent
847b927367
commit
d4ecb0986b
2 changed files with 23 additions and 35 deletions
|
|
@ -25,6 +25,7 @@ unit_tests = [
|
||||||
'insertSorted',
|
'insertSorted',
|
||||||
'jsParse',
|
'jsParse',
|
||||||
'markup',
|
'markup',
|
||||||
|
'params',
|
||||||
]
|
]
|
||||||
|
|
||||||
foreach test : unit_tests
|
foreach test : unit_tests
|
||||||
|
|
@ -43,7 +44,6 @@ foreach test : unit_tests
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
legacy_tests = [
|
legacy_tests = [
|
||||||
'params',
|
|
||||||
'signalTracker',
|
'signalTracker',
|
||||||
'url',
|
'url',
|
||||||
'versionCompare',
|
'versionCompare',
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,27 @@
|
||||||
const JsUnit = imports.jsUnit;
|
|
||||||
import * as Params from 'resource:///org/gnome/shell/misc/params.js';
|
import * as Params from 'resource:///org/gnome/shell/misc/params.js';
|
||||||
|
|
||||||
/**
|
describe('Params.parse()', () => {
|
||||||
* Asserts that two "param" objects have the same properties
|
const defaults = {
|
||||||
* with the same values.
|
|
||||||
*
|
|
||||||
* @param {object} params the parsed params
|
|
||||||
* @param {object} expected the expected 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',
|
foo: 'This is a test',
|
||||||
bar: null,
|
bar: null,
|
||||||
baz: 42,
|
baz: 42,
|
||||||
};
|
};
|
||||||
|
|
||||||
assertParamsEqual(
|
it('applies default values', () => {
|
||||||
Params.parse(null, defaults),
|
expect(Params.parse(null, defaults)).toEqual(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(
|
it('applies provided params', () => {
|
||||||
Params.parse({extraArg: 'quz'}, defaults, true),
|
expect(Params.parse({bar: 23}, defaults))
|
||||||
{foo: 'This is a test', bar: null, baz: 42, extraArg: 'quz'});
|
.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'});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue