File: params.js

package info (click to toggle)
gnome-shell 43.9-0%2Bdeb12u2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 18,540 kB
  • sloc: ansic: 59,716; javascript: 57,588; xml: 1,632; python: 437; sh: 410; makefile: 29; perl: 13
file content (32 lines) | stat: -rw-r--r-- 740 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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' });