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 |