test_transaction_ordering.js (1316B)
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 let request = indexedDB.open( 11 this.window ? window.location.pathname : "Splendid Test", 12 1 13 ); 14 request.onerror = errorHandler; 15 request.onupgradeneeded = grabEventAndContinueHandler; 16 let event = yield undefined; 17 18 let db = event.target.result; 19 db.onerror = errorHandler; 20 21 request.onsuccess = continueToNextStep; 22 23 db.createObjectStore("foo"); 24 yield undefined; 25 26 let trans1 = db.transaction("foo", "readwrite"); 27 let trans2 = db.transaction("foo", "readwrite"); 28 29 let request1 = trans2.objectStore("foo").put("2", 42); 30 let request2 = trans1.objectStore("foo").put("1", 42); 31 32 request1.onerror = errorHandler; 33 request2.onerror = errorHandler; 34 35 trans1.oncomplete = grabEventAndContinueHandler; 36 trans2.oncomplete = grabEventAndContinueHandler; 37 38 yield undefined; 39 yield undefined; 40 41 let trans3 = db.transaction("foo", "readonly"); 42 request = trans3.objectStore("foo").get(42); 43 request.onsuccess = grabEventAndContinueHandler; 44 request.onerror = errorHandler; 45 46 event = yield undefined; 47 is(event.target.result, "2", "Transactions were ordered properly."); 48 49 finishTest(); 50 }