Update tiger layout test results for svg/batik/text/smallFonts, and move to mac-tiger...
[WebKit-https.git] / LayoutTests / storage / execute-sql-args.html
1 <html>
2
3 <head>
4 <script>
5
6 var throwOnToStringObject = { };
7 throwOnToStringObject.toString = function () { throw "Cannot call toString on this object." };
8
9 var throwOnGetLengthObject = { };
10 throwOnGetLengthObject.__defineGetter__("length", function () { throw "Cannot get length of this object."; });
11
12 var throwOnGetZeroObject = { length: 1 };
13 throwOnGetZeroObject.__defineGetter__("0", function () { throw "Cannot get 0 property of this object."; });
14
15 var expectNoException = [
16     '',
17     'null',
18     'undefined',
19     '0',
20     '""',
21     '"", null',
22     '"", undefined',
23     '"", []',
24     '"", [ "arg0" ]',
25     '"", { }',
26     '"", { length: 0 }',
27     '"", { length: 1, 0: "arg0" }',
28     '"", null, null',
29     '"", null, undefined',
30     '"", null, { }',
31     '"", null, null, null',
32     '"", null, null, undefined',
33     '"", null, null, { }',
34 ];
35
36 var expectException = [
37     'throwOnToStringObject',
38     '"", throwOnGetLengthObject',
39     '"", throwOnGetZeroObject',
40     '"", [ throwOnToStringObject ]',
41     '"", 0',
42     '"", ""',
43     '"", null, 0',
44     '"", null, ""',
45     '"", null, null, 0',
46     '"", null, null, ""',
47 ];
48
49 function writeMessageToLog(message)
50 {
51     document.getElementById("console").innerText += message + "\n";
52 }
53
54 function tryExecuteSql(transaction, parameterList)
55 {
56     try {
57         eval('transaction.executeSql(' + parameterList + ')');
58         return null;
59     } catch (exception) {
60         return exception;
61     }
62 }
63
64 function runTransactionTest(transaction, parameterList, expectException)
65 {
66     var exception = tryExecuteSql(transaction, parameterList);
67     if (expectException) {
68         if (exception)
69             writeMessageToLog("PASS. executeSql(" + parameterList + ") threw an exception as expected: " + exception);
70         else
71             writeMessageToLog("*FAIL*. executeSql(" + parameterList + ") did not throw an exception");
72     } else {
73         if (exception)
74             writeMessageToLog("*FAIL*. executeSql(" + parameterList + ") threw an exception: " + exception);
75         else
76             writeMessageToLog("PASS. executeSql(" + parameterList + ") did not throw an exception");
77     }
78 }
79
80 function runTransactionTests(transaction)
81 {
82     for (i in expectNoException)
83         runTransactionTest(transaction, expectNoException[i], false);
84     for (i in expectException)
85         runTransactionTest(transaction, expectException[i], true);
86
87     if (window.layoutTestController)
88         layoutTestController.notifyDone();
89 }
90
91 function runTest() {
92     if (window.layoutTestController) {
93         layoutTestController.dumpAsText();
94         layoutTestController.waitUntilDone();
95     }
96
97     var db = openDatabase("ExecuteSQLArgsTest", "1.0", "Test of handling of the arguments to SQLTransaction.executeSql", 1);
98     db.transaction(runTransactionTests);
99 }
100
101 </script>
102 </head>
103
104 <body onload="runTest()">
105 <pre id="console"></pre>
106 </body>
107
108 </html>