idbtransaction.any.js (2066B)
1 // META: title=IDBTransaction 2 // META: global=window,worker 3 // META: script=resources/support.js 4 5 'use strict'; 6 7 async_test(function(t) { 8 let dbname = 'idbtransaction-' + location + t.name; 9 indexedDB.deleteDatabase(dbname); 10 let open_rq = indexedDB.open(dbname); 11 12 open_rq.onblocked = t.unreached_func('open_rq.onblocked'); 13 open_rq.onerror = t.unreached_func('open_rq.onerror'); 14 15 open_rq.onupgradeneeded = t.step_func(function(e) { 16 t.add_cleanup(function() { 17 open_rq.onerror = function(e) { 18 e.preventDefault(); 19 }; 20 open_rq.result.close(); 21 indexedDB.deleteDatabase(open_rq.result.name); 22 }); 23 24 assert_equals( 25 e.target, open_rq, 'e.target is reusing the same IDBOpenDBRequest'); 26 assert_equals( 27 e.target.transaction, open_rq.transaction, 28 'IDBOpenDBRequest.transaction'); 29 30 assert_true( 31 e.target.transaction instanceof IDBTransaction, 32 'transaction instanceof IDBTransaction'); 33 t.done(); 34 }); 35 }, 'IDBTransaction - request gotten by the handler'); 36 37 async_test(function(t) { 38 let dbname = 'idbtransaction-' + location + t.name; 39 indexedDB.deleteDatabase(dbname); 40 let open_rq = indexedDB.open(dbname); 41 42 assert_equals(open_rq.transaction, null, 'IDBOpenDBRequest.transaction'); 43 assert_equals(open_rq.source, null, 'IDBOpenDBRequest.source'); 44 assert_equals(open_rq.readyState, 'pending', 'IDBOpenDBRequest.readyState'); 45 46 assert_true( 47 open_rq instanceof IDBOpenDBRequest, 48 'open_rq instanceof IDBOpenDBRequest'); 49 assert_equals( 50 open_rq + '', '[object IDBOpenDBRequest]', 'IDBOpenDBRequest (open_rq)'); 51 52 open_rq.onblocked = t.unreached_func('open_rq.onblocked'); 53 open_rq.onerror = t.unreached_func('open_rq.onerror'); 54 55 open_rq.onupgradeneeded = t.step_func(function() { 56 t.add_cleanup(function() { 57 open_rq.onerror = function(e) { 58 e.preventDefault(); 59 }; 60 open_rq.result.close(); 61 indexedDB.deleteDatabase(open_rq.result.name); 62 }); 63 t.done(); 64 }); 65 }, 'IDBTransaction - request returned by open()');