56 lines
2.2 KiB
JavaScript
56 lines
2.2 KiB
JavaScript
// META: script=/resources/test-only-api.js
|
|
// META: script=resources/managed-configuration-helper.js
|
|
|
|
'use strict'
|
|
|
|
managed_config_test(async (test, managedConfigTest) => {
|
|
promise_rejects_dom(
|
|
test, 'NotAllowedError',
|
|
navigator.managed.getManagedConfiguration(['a']));
|
|
}, 'App is not managed.');
|
|
|
|
managed_config_test(async (test, managedConfigTest) => {
|
|
managedConfigTest.setManagedConfig({a: 2});
|
|
const result = await navigator.managed.getManagedConfiguration(['a']);
|
|
assert_equals(Object.keys(result).length, 1);
|
|
assert_equals(result.a, 2);
|
|
}, 'Configuration is returned');
|
|
|
|
managed_config_test(async (test, managedConfigTest) => {
|
|
managedConfigTest.setManagedConfig({a: 2, b: 3, c: 1});
|
|
const result = await navigator.managed.getManagedConfiguration(['b', 'c']);
|
|
assert_equals(Object.keys(result).length, 2);
|
|
assert_equals(result.b, 3);
|
|
assert_equals(result.c, 1);
|
|
}, 'Selected keys are returned.');
|
|
|
|
managed_config_test(async (test, managedConfigTest) => {
|
|
managedConfigTest.setManagedConfig({a: 2, b: 3, c: 1});
|
|
const result = await navigator.managed.getManagedConfiguration(['b', 'e']);
|
|
assert_equals(Object.keys(result).length, 1);
|
|
assert_equals(result.b, 3);
|
|
}, 'Only existing keys are returned.');
|
|
|
|
managed_config_test(async (test, managedConfigTest) => {
|
|
managedConfigTest.setManagedConfig({a: 2, b: false, c: {x: 3}});
|
|
const result =
|
|
await navigator.managed.getManagedConfiguration(['a', 'b', 'c']);
|
|
assert_equals(Object.keys(result).length, 3);
|
|
assert_equals(result.a, 2);
|
|
assert_equals(result.b, false);
|
|
assert_equals(Object.keys(result.c).length, 1);
|
|
assert_equals(result.c.x, 3);
|
|
}, 'Values can be of any type');
|
|
|
|
managed_config_test(async (test, managedConfigTest) => {
|
|
const nextObserverAdded = managedConfigTest.nextObserverAdded();
|
|
const watcher =
|
|
new EventWatcher(test, navigator.managed, ['managedconfigurationchange']);
|
|
await nextObserverAdded;
|
|
const event = watcher.wait_for(['managedconfigurationchange']);
|
|
managedConfigTest.setManagedConfig({'a': 2});
|
|
await event;
|
|
const result = await navigator.managed.getManagedConfiguration(['a']);
|
|
assert_equals(Object.keys(result).length, 1);
|
|
assert_equals(result.a, 2);
|
|
}, 'A change in managed configuration is observed.');
|