aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js')
-rw-r--r--tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js b/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js
index d7403ff5ea6..855e52f04dd 100644
--- a/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js
+++ b/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemBaseHandle-IndexedDB.js
@@ -100,3 +100,27 @@ directory_test(async (t, root_dir) => {
assert_equals(result.length, value.length);
await assert_equals_cloned_handles(result, value);
}, 'Store handle in IndexedDB and read using a cursor.');
+
+directory_test(async (t, root_dir) => {
+ const handles = await create_file_system_handles(t, root_dir);
+
+ const db = await createDatabase(t, db => {
+ const store = db.createObjectStore('store', {keyPath: 'key'});
+ });
+ t.add_cleanup(() => deleteAllDatabases(t));
+
+ const value = handles;
+ let tx = db.transaction('store', 'readwrite');
+ let store = tx.objectStore('store');
+ await promiseForRequest(t, store.put({key: 'key', value}));
+ await promiseForTransaction(t, tx);
+
+ tx = db.transaction('store', 'readonly');
+ store = tx.objectStore('store');
+ const result = await promiseForRequest(t, store.get('key'));
+ await promiseForTransaction(t, tx);
+
+ assert_true(Array.isArray(result.value), 'Result should be an array');
+ assert_equals(result.value.length, value.length);
+ await assert_equals_cloned_handles(result.value, value);
+}, 'Store handle in IndexedDB using inline keys.');