| // META: title=IDBTransaction |
| // META: global=window,worker |
| // META: script=resources/support.js |
| |
| 'use strict'; |
| |
| async_test(function(t) { |
| let dbname = 'idbtransaction-' + location + t.name; |
| indexedDB.deleteDatabase(dbname); |
| let open_rq = indexedDB.open(dbname); |
| |
| open_rq.onblocked = t.unreached_func('open_rq.onblocked'); |
| open_rq.onerror = t.unreached_func('open_rq.onerror'); |
| |
| open_rq.onupgradeneeded = t.step_func(function(e) { |
| t.add_cleanup(function() { |
| open_rq.onerror = function(e) { |
| e.preventDefault(); |
| }; |
| open_rq.result.close(); |
| indexedDB.deleteDatabase(open_rq.result.name); |
| }); |
| |
| assert_equals( |
| e.target, open_rq, 'e.target is reusing the same IDBOpenDBRequest'); |
| assert_equals( |
| e.target.transaction, open_rq.transaction, |
| 'IDBOpenDBRequest.transaction'); |
| |
| assert_true( |
| e.target.transaction instanceof IDBTransaction, |
| 'transaction instanceof IDBTransaction'); |
| t.done(); |
| }); |
| }, 'IDBTransaction - request gotten by the handler'); |
| |
| async_test(function(t) { |
| let dbname = 'idbtransaction-' + location + t.name; |
| indexedDB.deleteDatabase(dbname); |
| let open_rq = indexedDB.open(dbname); |
| |
| assert_equals(open_rq.transaction, null, 'IDBOpenDBRequest.transaction'); |
| assert_equals(open_rq.source, null, 'IDBOpenDBRequest.source'); |
| assert_equals(open_rq.readyState, 'pending', 'IDBOpenDBRequest.readyState'); |
| |
| assert_true( |
| open_rq instanceof IDBOpenDBRequest, |
| 'open_rq instanceof IDBOpenDBRequest'); |
| assert_equals( |
| open_rq + '', '[object IDBOpenDBRequest]', 'IDBOpenDBRequest (open_rq)'); |
| |
| open_rq.onblocked = t.unreached_func('open_rq.onblocked'); |
| open_rq.onerror = t.unreached_func('open_rq.onerror'); |
| |
| open_rq.onupgradeneeded = t.step_func(function() { |
| t.add_cleanup(function() { |
| open_rq.onerror = function(e) { |
| e.preventDefault(); |
| }; |
| open_rq.result.close(); |
| indexedDB.deleteDatabase(open_rq.result.name); |
| }); |
| t.done(); |
| }); |
| }, 'IDBTransaction - request returned by open()'); |