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