shouldBeEqualToString("event.type", "default");
shouldBe("event.oldVersion", "0");
shouldBe("event.newVersion", "null");
+shouldBe("event.dataLoss", '"none"');
debug("");
evalAndLog("initEvent = {oldVersion: 123, newVersion: 456}");
shouldBeEqualToString("event.type", "foo");
shouldBe("event.oldVersion", "initEvent.oldVersion");
shouldBe("event.newVersion", "initEvent.newVersion");
+shouldBe("event.dataLoss", '"none"');
+
+debug("");
+evalAndLog("initEvent = {oldVersion: 124, newVersion: 457, dataLoss: 'total'}");
+evalAndLog("event = new IDBVersionChangeEvent('foo2', initEvent)");
+shouldBeTrue("event instanceof IDBVersionChangeEvent");
+shouldBeEqualToString("event.type", "foo2");
+shouldBe("event.oldVersion", "initEvent.oldVersion");
+shouldBe("event.newVersion", "initEvent.newVersion");
+shouldBe("event.dataLoss", "initEvent.dataLoss");
debug("");
evalAndLog("initEvent = {oldVersion: 'legacy', newVersion: null}");
// We pull strings out of legacy databases, but don't let them be created
shouldBe("event.oldVersion", "0");
shouldBeNull("event.newVersion");
+shouldBe("event.dataLoss", '"none"');
</script>