test_put_get_values.js (1611B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 /* exported testGenerator */ 7 var testGenerator = testSteps(); 8 9 function* testSteps() { 10 const name = this.window ? window.location.pathname : "Splendid Test"; 11 const objectStoreName = "Objects"; 12 13 let testString = { key: 0, value: "testString" }; 14 let testInt = { key: 1, value: 1002 }; 15 16 let request = indexedDB.open(name, 1); 17 request.onerror = errorHandler; 18 request.onupgradeneeded = grabEventAndContinueHandler; 19 request.onsuccess = grabEventAndContinueHandler; 20 let event = yield undefined; 21 22 let db = event.target.result; 23 24 let objectStore = db.createObjectStore(objectStoreName, { autoIncrement: 0 }); 25 26 request = objectStore.add(testString.value, testString.key); 27 request.onerror = errorHandler; 28 request.onsuccess = function (event) { 29 is(event.target.result, testString.key, "Got the right key"); 30 request = objectStore.get(testString.key); 31 request.onerror = errorHandler; 32 request.onsuccess = function (event) { 33 is(event.target.result, testString.value, "Got the right value"); 34 }; 35 }; 36 37 request = objectStore.add(testInt.value, testInt.key); 38 request.onerror = errorHandler; 39 request.onsuccess = function (event) { 40 is(event.target.result, testInt.key, "Got the right key"); 41 request = objectStore.get(testInt.key); 42 request.onerror = errorHandler; 43 request.onsuccess = function (event) { 44 is(event.target.result, testInt.value, "Got the right value"); 45 }; 46 }; 47 48 // Wait for success 49 yield undefined; 50 51 finishTest(); 52 }