| <!DOCTYPE html> |
| <title>Sub Apps: Valid calls for list()</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="resources/subapps-helpers.js"></script> |
| <script> |
| |
| promise_test(async t => { |
| t.add_cleanup(async () => { |
| await mockSubAppsService.reset(); |
| mockSubAppsService = null; |
| }); |
| |
| const url_1 = document.location.origin + '/sub-app-1'; |
| const url_2 = document.location.origin + '/sub-app-2'; |
| const mocked_response = [{ unhashedAppId: url_1, appName: "App 1" }, { unhashedAppId: url_2, appName: "App 2" }]; |
| |
| let expected_results = {}; |
| expected_results[url_1] = { "app_name": "App 1" }; |
| expected_results[url_2] = { "app_name": "App 2" }; |
| |
| await createMockSubAppsService(Status.SUCCESS, [], mocked_response); |
| |
| await navigator.subApps.list() |
| .catch(e => { |
| assert_unreached("Should not have rejected."); |
| }) |
| .then(result => { |
| for (const app_id in expected_results) { |
| assert_own_property(result, app_id, "Return results are missing entry for subapp.") |
| assert_equals(JSON.stringify(result[app_id]), JSON.stringify(expected_results[app_id]), "Return results are not as expected.") |
| } |
| }) |
| }, 'List API call works with 2 sub apps.'); |
| |
| promise_test(async t => { |
| t.add_cleanup(async () => { |
| await mockSubAppsService.reset(); |
| mockSubAppsService = null; |
| }); |
| |
| let mocked_response = []; |
| await createMockSubAppsService(Status.SUCCESS, [], mocked_response); |
| await navigator.subApps.list() |
| .catch(e => { |
| assert_unreached("Should not have rejected."); |
| }) |
| .then(result => { |
| assert_equals(Object.keys(result).length, 0); |
| }) |
| }, 'List API call works with no sub apps.'); |
| |
| </script> |