diff options
Diffstat (limited to 'LayoutTests/storage/read-and-write-transactions-dont-run-together.html')
-rw-r--r-- | LayoutTests/storage/read-and-write-transactions-dont-run-together.html | 103 |
1 files changed, 6 insertions, 97 deletions
diff --git a/LayoutTests/storage/read-and-write-transactions-dont-run-together.html b/LayoutTests/storage/read-and-write-transactions-dont-run-together.html index a7565b5..11da356 100644 --- a/LayoutTests/storage/read-and-write-transactions-dont-run-together.html +++ b/LayoutTests/storage/read-and-write-transactions-dont-run-together.html @@ -1,103 +1,12 @@ <html> <head> -<script> - -function log(message) -{ - document.body.innerHTML += message + "<br>"; -} - -function terminateTest() -{ - if (window.layoutTestController) - layoutTestController.notifyDone(); -} - -function openTestDatabase() -{ - return openDatabase("ReadAndWriteTransactionsDontRunTogetherTest", - "1.0", - "Test to make sure that read and write transactions on different DB handles to the same DB don't run at the same time.", - 32768); -} - -var readTransactionsInProgress = 0; -var writeTransactionsInProgress = 0; -var totalTransactions = 0; -var finishedTransactions = 0; - -function runTransaction(db, readOnly) -{ - var transactionFunction = (readOnly ? db.readTransaction : db.transaction); - transactionFunction.call(db, function(tx) { - if (readOnly) { - if (writeTransactionsInProgress != 0) { - log("Read transaction starting while write transaction in progress."); - terminateTest(); - } - readTransactionsInProgress++; - } else { - if ((readTransactionsInProgress != 0) || (writeTransactionsInProgress != 0)) { - log("Write transaction starting while another transaction in progress."); - terminateTest(); - } - writeTransactionsInProgress++; - } - tx.executeSql("SELECT * FROM Test;"); - }, function(error) { - log((readOnly ? "Read" : "Write") + " transaction failed: " + error.message); - terminateTest(); - }, function() { - finishedTransactions++; - if (readOnly) - readTransactionsInProgress--; - else - writeTransactionsInProgress--; - log("Transaction successful."); - if ((finishedTransactions == totalTransactions) && (readTransactionsInProgress == 0) && (writeTransactionsInProgress == 0)) - terminateTest(); - }); -} - -function runReadAndWriteTransactions(db1, db2, db3) -{ - totalTransactions = 10; - finishedTransactions = 0; - runTransaction(db1, true); - runTransaction(db2, true); - runTransaction(db1, false); - runTransaction(db1, true); - runTransaction(db2, true); - runTransaction(db3, true); - runTransaction(db1, false); - runTransaction(db2, false); - runTransaction(db1, true); - runTransaction(db3, true); -} - -function runTest() { - if (window.layoutTestController) { - layoutTestController.dumpAsText(); - layoutTestController.waitUntilDone(); - } - - try { - var db1 = openTestDatabase(); - var db2 = openTestDatabase(); - var db3 = openTestDatabase(); - db1.transaction(function(tx) { - tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo int);"); - }, function(error) { - log("Cannot create the Test table: " + error.message); - terminateTest(); - }, function() { - runReadAndWriteTransactions(db1, db2, db3); - }); - } catch(err) {} -} -</script> +<script src="resources/database-common.js"></script> +<script src="read-and-write-transactions-dont-run-together.js"></script> </head> -<body onload="runTest();"> +<body onload="setupAndRunTest();"> This test tests that read and write transactions on different handles to the same database don't run together.<br> +<pre id="console"> +FAILURE: test didn't run. +</pre> </body> </html> |