blob: 36ba20fedb0d92938fe220ba4f7c310964c3d23c [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<script>
description("Verify the use of IDBVersionChangeEventInit");
evalAndLog("event = new IDBVersionChangeEvent('default')");
shouldBeTrue("event instanceof IDBVersionChangeEvent");
shouldBeEqualToString("event.type", "default");
shouldBe("event.oldVersion", "0");
shouldBe("event.newVersion", "null");
shouldBe("event.dataLoss", '"none"');
debug("");
evalAndLog("initEvent = {oldVersion: 123, newVersion: 456}");
evalAndLog("event = new IDBVersionChangeEvent('foo', initEvent)");
shouldBeTrue("event instanceof IDBVersionChangeEvent");
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}");
evalAndLog("event = new IDBVersionChangeEvent('bar', initEvent)");
shouldBeTrue("event instanceof IDBVersionChangeEvent");
shouldBeEqualToString("event.type", "bar");
// 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>