summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm')
-rw-r--r--testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm66
1 files changed, 66 insertions, 0 deletions
diff --git a/testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm b/testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm
new file mode 100644
index 000000000..866a8b2eb
--- /dev/null
+++ b/testing/web-platform/tests/IndexedDB/idbversionchangeevent.htm
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<title>IDBVersionChangeEvent fired in upgradeneeded, versionchange and deleteDatabase</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#versionchange--transaction-steps">
+<link rel=assert title="Fire a versionchange event at each object in openDatabases that is open. The event must not be fired on objects which has the closePending flag set. The event must use the IDBVersionChangeEvent interface and have the oldVersion property set to db's version and have the newVersion property set to version.">
+<link rel=assert title="Fire a upgradeneeded event targeted at request. The event must use the IDBVersionChangeEvent interface and have the oldVersion property set to old version and have the newVersion property set to version.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support.js"></script>
+
+<div id="log"></div>
+
+<script>
+
+ var db,
+ t = async_test(document.title, {timeout: 10000});
+
+ t.step(function() {
+ var openrq = indexedDB.open('db', 3);
+
+ openrq.onupgradeneeded = t.step_func(function(e) {
+ assert_equals(e.oldVersion, 0, "old version (upgradeneeded)");
+ assert_equals(e.newVersion, 3, "new version (upgradeneeded)");
+ assert_true(e instanceof IDBVersionChangeEvent, "upgradeneeded instanceof IDBVersionChangeEvent");
+ });
+
+ openrq.onsuccess = t.step_func(function(e) {
+ db = e.target.result;
+
+ db.onversionchange = t.step_func(function(e) {
+ assert_equals(e.oldVersion, 3, "old version (versionchange)");
+ assert_equals(e.newVersion, null, "new version (versionchange)");
+ assert_true(e instanceof IDBVersionChangeEvent, "versionchange instanceof IDBVersionChangeEvent");
+ db.close();
+ });
+
+ // Errors
+ db.onerror = fail(t, "db.error");
+ db.onabort = fail(t, "db.abort");
+
+ setTimeout(t.step_func(deleteDB), 10);
+ });
+
+ // Errors
+ openrq.onerror = fail(t, "open.error");
+ openrq.onblocked = fail(t, "open.blocked");
+
+ });
+
+ function deleteDB (e) {
+ var deleterq = indexedDB.deleteDatabase('db');
+
+ deleterq.onsuccess = t.step_func(function(e) {
+ assert_equals(e.oldVersion, 3, "old version (delete.success)");
+ assert_equals(e.newVersion, null, "new version (delete.success)");
+ assert_true(e instanceof IDBVersionChangeEvent, "delete.success instanceof IDBVersionChangeEvent");
+
+ setTimeout(function() { t.done(); }, 10);
+ });
+
+ // Errors
+ deleterq.onerror = fail(t, "delete.error");
+ deleterq.onblocked = fail(t, "delete.blocked");
+ }
+
+</script>