// META: title=Buckets API: Basic tests for open(), keys(), delete(). // META: script=resources/util.js // META: global=window,worker 'use strict'; // This test is for initial IDL version optimized for debugging. // Split and add extensive testing once implementation for the endpoints are // added and method definitions are more defined. promise_test(async testCase => { await prepareForBucketTest(testCase); await navigator.storageBuckets.open('bucket_name3'); await navigator.storageBuckets.open('bucket_name1'); await navigator.storageBuckets.open('bucket_name2'); const buckets = await navigator.storageBuckets.keys(); assert_array_equals( buckets, ['bucket_name1', 'bucket_name2', 'bucket_name3']); }, 'keys() lists all stored bucket names alphabetically'); promise_test(async testCase => { await prepareForBucketTest(testCase); await navigator.storageBuckets.open('bucket_name1'); await navigator.storageBuckets.open('bucket_name2'); let buckets = await navigator.storageBuckets.keys(); assert_array_equals(buckets, ['bucket_name1', 'bucket_name2']); await navigator.storageBuckets.delete('bucket_name1'); buckets = await navigator.storageBuckets.keys(); assert_array_equals(buckets, ['bucket_name2']); }, 'delete() removes stored bucket name'); promise_test(async testCase => { await prepareForBucketTest(testCase); await navigator.storageBuckets.open('bucket_name'); let buckets = await navigator.storageBuckets.keys(); assert_array_equals(buckets, ['bucket_name']); await navigator.storageBuckets.delete('does-not-exist'); buckets = await navigator.storageBuckets.keys(); assert_equals(buckets.length, 1); assert_equals(buckets[0], 'bucket_name'); }, 'delete() does nothing if bucket name does not exist');