| // 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.'); |