Mike McCormack : msi: Add tests for quoting in queries.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Dec 4 07:17:11 CST 2006


Module: wine
Branch: master
Commit: ef1af6ada76f0a33b37a3a27d14fcb284bfb9e60
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ef1af6ada76f0a33b37a3a27d14fcb284bfb9e60

Author: Mike McCormack <mike at codeweavers.com>
Date:   Mon Dec  4 16:52:05 2006 +0900

msi: Add tests for quoting in queries.

---

 dlls/msi/tests/db.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 441d6f5..fd11e40 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -656,6 +656,39 @@ static void test_msibadqueries(void)
     r = try_query( hdb, "CREATE TABLE `c` (`b` CHAR NOT NULL PRIMARY KEY `b`)");
     ok(r == ERROR_SUCCESS , "query 8 failed\n");
 
+    r = try_query( hdb, "select * from c");
+    ok(r == ERROR_SUCCESS , "query failed\n");
+
+    r = try_query( hdb, "select * from c where b = 'x");
+    todo_wine ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+
+    r = try_query( hdb, "select * from 'c'");
+    ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+
+    r = try_query( hdb, "select * from ''");
+    ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+
+    r = try_query( hdb, "select * from c where b = x");
+    ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+
+    r = try_query( hdb, "select * from c where b = \"x\"");
+    todo_wine ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+
+    r = try_query( hdb, "select * from c where b = 'x'");
+    ok(r == ERROR_SUCCESS, "query failed\n");
+
+    r = try_query( hdb, "select * from c where b = '\"x'");
+    ok(r == ERROR_SUCCESS, "query failed\n");
+
+    if (0)  /* FIXME: this query causes trouble with other tests */
+    {
+        r = try_query( hdb, "select * from c where b = '\\\'x'");
+        ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+    }
+
+    r = try_query( hdb, "select * from 'c'");
+    ok(r == ERROR_BAD_QUERY_SYNTAX, "query failed\n");
+
     r = MsiCloseHandle( hdb );
     ok(r == ERROR_SUCCESS , "Failed to close database transact\n");
 




More information about the wine-cvs mailing list