Files
firefox/testing/web-platform/tests/subapps/list-success.tentative.https.html
Daniel Murphy f6f39c280e Bug 1832428 [wpt PR 39948] - [dPWA] Refactoring relative manifest id to absolute id., a=testonly
Automatic update from web-platform-tests
[dPWA] Refactoring relative manifest id to absolute id.

This patch refactors the manifest parser & id handling to use the
computed manifest_id defined in the spec, which simplifies a lot of
code. This patch:
- Makes changes to the ManifestParser to output the id as a full url.
- Always populates the manifest_id web app representations.
- Fixes a variety of tests, including some small mistakes in the sub app
  tests that are hopefully minor.
- Adds a number of checks to ensure that things are created correctly.
- Updates the web_app_helper methods appropriately.

This change should have no functional impact.

Bug: 1231765,1442799,b/280606515
Change-Id: I6d69e2d94af9278d796df4efb3e275416e4ad59e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4515997
Reviewed-by: Dibyajyoti Pal <[email protected]>
Reviewed-by: Maksim Moskvitin <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Commit-Queue: Daniel Murphy <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1144248}

--

wpt-commits: cb1e54222a206b4cbb5211f7e24878a267b820f1
wpt-pr: 39948
2023-05-21 22:46:16 +00:00

58 lines
1.6 KiB
HTML

<!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 = '/sub-app-1';
const url_2 = '/sub-app-2';
const mocked_response = [
{ "manifestIdPath": url_1, "appName": "App 1" },
{ "manifestIdPath": url_2, "appName": "App 2" },
];
let expected_results = {
[url_1]: { "app_name": "App 1" },
[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>