blob: f394009638c9e54b9fbc129f9122782fb1a6d13c [file] [log] [blame]
<!DOCTYPE html>
<html>
<!--
Copyright 2014 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<head>
<title>IDB test that db's corrupted while open are properly handled Part 2 / 2</title>
<script type="text/javascript" src="common.js"></script>
<script>
function test() {
dbname = "corrupted_open_db_detection.html";
request = indexedDB.open(dbname);
request.onupgradeneeded = upgradeNeeded;
request.onsuccess = onSuccess;
request.onerror = unexpectedErrorCallback;
request.onblocked = unexpectedBlockedCallback;
}
var gotUpgradeNeeded = false;
function upgradeNeeded(evt) {
event = evt;
shouldBe("event.dataLoss", "'total'");
shouldBeTrue('event.dataLossMessage.startsWith("IndexedDB (database was corrupt): ")');
gotUpgradeNeeded = true;
}
function onSuccess(event) {
db = event.target.result;
debug("The pre-existing leveldb has an objectStore in 'database-basics',");
debug("ensure that it was blown away");
shouldBe("db.objectStoreNames.length", "0");
debug("We should have gotten an upgradeneeded event because the new empty");
debug("database doesn't have a version.");
shouldBeTrue("gotUpgradeNeeded");
done();
}
</script>
</head>
<body onLoad="test()">
<div id="status">Starting...</div>
</body>
</html>