<!DOCTYPE html> 
<html> 
<head> 
<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css"> 
<script src="../../fast/js/resources/js-test-pre.js"></script> 
<script src="resources/shared.js"></script> 
</head> 
<body> 
<p id="description"></p> 
<div id="console"></div> 
<script> 
 
description("Test IndexedDB version string is required");
if (window.layoutTestController)
    layoutTestController.waitUntilDone();
 
function test()
{
    indexedDB = evalAndLog("indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;");
    shouldBeFalse("indexedDB == null");
    IDBDatabaseException = evalAndLog("IDBDatabaseException = window.IDBDatabaseException || window.webkitIDBDatabaseException;");
    shouldBeFalse("IDBDatabaseException == null");
    IDBCursor = evalAndLog("IDBCursor = window.IDBCursor || window.webkitIDBCursor;");
    shouldBeFalse("IDBCursor == null");
    IDBKeyRange = evalAndLog("IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange;");
    shouldBeFalse("IDBKeyRange == null");
 
    name = window.location.pathname;
    description = "My Test Database";
    request = evalAndLog("indexedDB.open(name, description)");
    request.onsuccess = openSuccess;
    request.onerror = unexpectedErrorCallback;
}
 
function openSuccess()
{
    db = evalAndLog("db = event.target.result");
 
    shouldThrow("db.setVersion();");
    done();
}
 
var successfullyParsed = true;
 
test();
 
</script> 
</body> 
</html>
