| OLD | NEW |
| (Empty) |
| 1 var EXPECTED_VERSION_AFTER_HIXIE_TEST = "2"; | |
| 2 var EXPECTED_VERSION_AFTER_RELOAD = "3"; | |
| 3 | |
| 4 var db1 = openDatabaseSync("ChangeVersionTest", "1", "Test for the database.chan
geVersion() function", 1); | |
| 5 var db2 = openDatabaseSync("ChangeVersionTest", "1", "Test for the database.chan
geVersion() function", 1); | |
| 6 | |
| 7 // First run Hixie's test to ensure basic changeVersion() functionality works (s
ee bug 28418). | |
| 8 db1.changeVersion("1", EXPECTED_VERSION_AFTER_HIXIE_TEST); | |
| 9 if (db2.version != db1.version) { | |
| 10 postMessage("FAIL: changing db1's version (" + db1.version + ") did not chan
ge db2's version (" + db2.version + ") as expected."); | |
| 11 postMessage("fail"); | |
| 12 } else | |
| 13 postMessage("PASS: changing db1's version (" + db1.version + ") changed db2'
s version too."); | |
| 14 | |
| 15 db2.transaction(function(tx) { | |
| 16 try { | |
| 17 tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo INT)"); | |
| 18 postMessage("FAIL: The DB version changed, executing any statement on db
2 should fail."); | |
| 19 postMessage("fail"); | |
| 20 } catch(err) { | |
| 21 postMessage("PASS: Executing a statement on db2 threw an exception as expe
cted."); | |
| 22 } | |
| 23 }); | |
| 24 | |
| 25 // Make sure any new handle to the same DB sees the new version | |
| 26 try { | |
| 27 var db3 = openDatabaseSync("ChangeVersionTest", EXPECTED_VERSION_AFTER_HIXIE
_TEST, "", 1); | |
| 28 postMessage("PASS: Successfully opened a new DB handle."); | |
| 29 } catch (err) { | |
| 30 postMessage("FAIL: Unexpected exception thrown while trying to open a new DB
handle: " + err); | |
| 31 postMessage("fail"); | |
| 32 } | |
| 33 | |
| 34 if (db1.version != db3.version) { | |
| 35 postMessage("FAIL: db1.version (" + db1.version + ") does not match db3.vers
ion(" + db3.version +")"); | |
| 36 postMessage("fail"); | |
| 37 } else | |
| 38 postMessage("PASS: db1.version (" + db1.version + ") matches db3.version."); | |
| 39 | |
| 40 // Now try a test to ensure the version persists after reloading (see bug 27836) | |
| 41 db1.changeVersion(EXPECTED_VERSION_AFTER_HIXIE_TEST, EXPECTED_VERSION_AFTER_RELO
AD, | |
| 42 function(tx) { | |
| 43 tx.executeSql("DROP TABLE IF EXISTS Info"); | |
| 44 tx.executeSql("CREATE TABLE IF NOT EXISTS Info (Version IN
TEGER)"); | |
| 45 tx.executeSql("INSERT INTO Info VALUES (?)", [EXPECTED_VER
SION_AFTER_RELOAD]); | |
| 46 }); | |
| 47 | |
| 48 postMessage("done"); | |
| OLD | NEW |