summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/IndexedDB/idbindex-multientry.htm
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/IndexedDB/idbindex-multientry.htm')
-rw-r--r--testing/web-platform/tests/IndexedDB/idbindex-multientry.htm53
1 files changed, 53 insertions, 0 deletions
diff --git a/testing/web-platform/tests/IndexedDB/idbindex-multientry.htm b/testing/web-platform/tests/IndexedDB/idbindex-multientry.htm
new file mode 100644
index 0000000000..d5aee222ea
--- /dev/null
+++ b/testing/web-platform/tests/IndexedDB/idbindex-multientry.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>IDBIndex.multiEntry - adding keys</title>
+<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
+<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct">
+<link rel=assert title="XXX">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/support.js"></script>
+
+<script>
+ var db,
+ expected_keys = [1, 2, 2, 3, 3];
+
+ var open_rq = createdb(async_test())
+
+ open_rq.onupgradeneeded = function(e) {
+ db = e.target.result;
+
+ var store = db.createObjectStore("store")
+
+ store.createIndex('actors', 'name', { multiEntry: true })
+
+ store.add({name: 'Odin'}, 1);
+ store.add({name: ['Rita', 'Scheeta', {Bobby:'Bobby'}]}, 2);
+ store.add({name: [ {s: 'Robert'}, 'Neil', 'Bobby']}, 3);
+ };
+ open_rq.onsuccess = function(e) {
+ var gotten_keys = [];
+ var idx = db.transaction('store', 'readonly', {durability: 'relaxed'}).objectStore('store').index('actors');
+
+ idx.getKey('Odin').onsuccess = this.step_func(function(e) {
+ gotten_keys.push(e.target.result)
+ });
+ idx.getKey('Rita').onsuccess = this.step_func(function(e) {
+ gotten_keys.push(e.target.result)
+ });
+ idx.getKey('Scheeta').onsuccess = this.step_func(function(e) {
+ gotten_keys.push(e.target.result)
+ });
+ idx.getKey('Neil').onsuccess = this.step_func(function(e) {
+ gotten_keys.push(e.target.result)
+ });
+ idx.getKey('Bobby').onsuccess = this.step_func(function(e) {
+ gotten_keys.push(e.target.result)
+
+ assert_array_equals(gotten_keys, expected_keys);
+ this.done();
+ });
+ }
+</script>
+
+<div id="log"></div>