Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / storage / websql / execute-sql-args.js
blob551f0670cd79b1e457cabd9122726a20bcb3bfe0
1 var throwOnToStringObject = { };
2 throwOnToStringObject.toString = function () { throw "Cannot call toString on this object." };
4 var throwOnGetLengthObject = { };
5 throwOnGetLengthObject.__defineGetter__("length", function () { throw "Cannot get length of this object."; });
7 var throwOnGetZeroObject = { length: 1 };
8 throwOnGetZeroObject.__defineGetter__("0", function () { throw "Cannot get 0 property of this object."; });
10 var expectNoException = [
11     'null',
12     'undefined',
13     '0',
14     '""',
15     '"", null',
16     '"", undefined',
17     '"", []',
18     '"", [ "arg0" ]',
19     '"", { length: 0 }',
20     '"", { length: 1, 0: "arg0" }',
21     '"", null, null',
22     '"", null, undefined',
23     '"", null, function(){}',
24     '"", null, null, null',
25     '"", null, null, undefined',
26     '"", null, null, function(){}',
29 var expectException = [
30     '',
31     'throwOnToStringObject',
32     '"", throwOnGetLengthObject',
33     '"", throwOnGetZeroObject',
34     '"", [ throwOnToStringObject ]',
35     '"", 0',
36     '"", ""',
37     '"", { }',
38     '"", null, 0',
39     '"", null, ""',
40     '"", null, { }',
41     '"", null, null, 0',
42     '"", null, null, ""',
43     '"", null, null, { }',
46 function tryExecuteSql(transaction, parameterList)
48     try {
49         eval('transaction.executeSql(' + parameterList + ')');
50         return null;
51     } catch (exception) {
52         return exception;
53     }
56 function runTransactionTest(transaction, parameterList, expectException)
58     var exception = tryExecuteSql(transaction, parameterList);
59     if (expectException) {
60         if (exception)
61             log("PASS. executeSql(" + parameterList + ") threw an exception as expected.");
62         else
63             log("*FAIL*. executeSql(" + parameterList + ") did not throw an exception");
64     } else {
65         if (exception)
66             log("*FAIL*. executeSql(" + parameterList + ") threw an exception: " + exception);
67         else
68             log("PASS. executeSql(" + parameterList + ") did not throw an exception");
69     }
72 function runTransactionTests(transaction)
74     for (i in expectNoException)
75         runTransactionTest(transaction, expectNoException[i], false);
76     for (i in expectException)
77         runTransactionTest(transaction, expectException[i], true);
79     if (window.testRunner)
80         testRunner.notifyDone();
83 function runTest()
86     var db = openDatabaseWithSuffix("ExecuteSQLArgsTest", "1.0", "Test of handling of the arguments to SQLTransaction.executeSql", 1);
87     db.transaction(runTransactionTests);