From 3b74f42c85abe5b4a150cd5064d1017f8bfcd4dc Mon Sep 17 00:00:00 2001 From: Jarryd Date: Thu, 31 Jan 2019 19:00:02 +0000 Subject: [PATCH] Bug 1514436 [wpt PR 14531] - Reland "Add quota usage details tests for all other storage backends.", a=testonly Automatic update from web-platform-tests Reland "Add quota usage details tests for all other storage backends." This is a reland of 548e7b5e622ad79155ff95ef26738d7a40fe9397 Original change's description: > Add quota usage details tests for all other storage backends. > > IndexedDB test was included in parent CL. > > Bug: 904000 > Test: > Change-Id: Icc3462f13d0dce0197a8ec54f22d5ad794a51292 > Reviewed-on: https://chromium-review.googlesource.com/c/1334659 > Reviewed-by: Victor Costan > Reviewed-by: Joshua Bell > Commit-Queue: Jarryd Goodman > Cr-Commit-Position: refs/heads/master@{#616398} Bug: 904000 Change-Id: I507ec17eabc8e323a7c6418075d4be4787d4c5df Reviewed-on: https://chromium-review.googlesource.com/c/1378805 Reviewed-by: Joshua Bell Commit-Queue: Jarryd Goodman Cr-Commit-Position: refs/heads/master@{#617285} -- wpt-commits: 7e5cdeab733b40357f553704fddddf6c5f199c8b wpt-pr: 14531 --- ...ils-application-cache.https.tentative.html | 29 +++++++++++++++++++ ...sage-details-caches.https.tentative.any.js | 20 +++++++++++++ ...imate-usage-details.https.tentative.any.js | 12 ++++++++ .../tests/storage/resources/appcache.manifest | 3 ++ .../iframe_with_appcache_manifest.html | 17 +++++++++++ 5 files changed, 81 insertions(+) create mode 100644 testing/web-platform/tests/storage/estimate-usage-details-application-cache.https.tentative.html create mode 100644 testing/web-platform/tests/storage/estimate-usage-details-caches.https.tentative.any.js create mode 100644 testing/web-platform/tests/storage/estimate-usage-details.https.tentative.any.js create mode 100644 testing/web-platform/tests/storage/resources/appcache.manifest create mode 100644 testing/web-platform/tests/storage/resources/iframe_with_appcache_manifest.html diff --git a/testing/web-platform/tests/storage/estimate-usage-details-application-cache.https.tentative.html b/testing/web-platform/tests/storage/estimate-usage-details-application-cache.https.tentative.html new file mode 100644 index 000000000000..464a99887bdb --- /dev/null +++ b/testing/web-platform/tests/storage/estimate-usage-details-application-cache.https.tentative.html @@ -0,0 +1,29 @@ + + +Quota Estimate: usage details reflect application cache changes. + + + + + + + diff --git a/testing/web-platform/tests/storage/estimate-usage-details-caches.https.tentative.any.js b/testing/web-platform/tests/storage/estimate-usage-details-caches.https.tentative.any.js new file mode 100644 index 000000000000..bf889f84184f --- /dev/null +++ b/testing/web-platform/tests/storage/estimate-usage-details-caches.https.tentative.any.js @@ -0,0 +1,20 @@ +// META: title=StorageManager: estimate() for caches + +promise_test(async t => { + let estimate = await navigator.storage.estimate(); + + const cachesUsageBeforeCreate = estimate.usageDetails.caches || 0; + + const cacheName = 'testCache'; + const cache = await caches.open(cacheName); + t.add_cleanup(() => caches.delete(cacheName)); + + await cache.put('/test.json', new Response('x'.repeat(1024*1024))); + + estimate = await navigator.storage.estimate(); + assert_true('caches' in estimate.usageDetails); + const cachesUsageAfterPut = estimate.usageDetails.caches; + assert_greater_than( + cachesUsageAfterPut, cachesUsageBeforeCreate, + 'estimated usage should increase after value is stored'); +}, 'estimate() shows usage increase after large value is stored'); diff --git a/testing/web-platform/tests/storage/estimate-usage-details.https.tentative.any.js b/testing/web-platform/tests/storage/estimate-usage-details.https.tentative.any.js new file mode 100644 index 000000000000..2a1cea5fb8df --- /dev/null +++ b/testing/web-platform/tests/storage/estimate-usage-details.https.tentative.any.js @@ -0,0 +1,12 @@ +// META: title=StorageManager: estimate() should have usage details + +promise_test(async t => { + const estimate = await navigator.storage.estimate(); + assert_equals(typeof estimate, 'object'); + assert_true('usage' in estimate); + assert_equals(typeof estimate.usage, 'number'); + assert_true('quota' in estimate); + assert_equals(typeof estimate.quota, 'number'); + assert_true('usageDetails' in estimate); + assert_equals(typeof estimate.usageDetails, 'object'); +}, 'estimate() resolves to dictionary with members, including usageDetails'); diff --git a/testing/web-platform/tests/storage/resources/appcache.manifest b/testing/web-platform/tests/storage/resources/appcache.manifest new file mode 100644 index 000000000000..ce90bafd21fe --- /dev/null +++ b/testing/web-platform/tests/storage/resources/appcache.manifest @@ -0,0 +1,3 @@ +CACHE MANIFEST +# iframe_with_appcache_manifest.html references this manifest to get cached in +# AppCache. diff --git a/testing/web-platform/tests/storage/resources/iframe_with_appcache_manifest.html b/testing/web-platform/tests/storage/resources/iframe_with_appcache_manifest.html new file mode 100644 index 000000000000..8365ce41f494 --- /dev/null +++ b/testing/web-platform/tests/storage/resources/iframe_with_appcache_manifest.html @@ -0,0 +1,17 @@ + + +Iframe that will be cached using application cache. + + + +