Module: wine Branch: master Commit: 8d496332758de3ee2347b8a27c14bf007563897e URL: http://source.winehq.org/git/wine.git/?a=commit;h=8d496332758de3ee2347b8a27c...
Author: Hib Eris hib@hiberis.nl Date: Tue Oct 20 14:25:53 2009 +0200
msi/tests: Add test for merging string types.
---
dlls/msi/tests/db.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c index ea07ae6..20043d6 100644 --- a/dlls/msi/tests/db.c +++ b/dlls/msi/tests/db.c @@ -7109,6 +7109,51 @@ static void test_dbmerge(void) r = run_query(href, 0, query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ query = "CREATE TABLE `One` ( " + "`A` CHAR(72), " + "`B` CHAR(56), " + "`C` CHAR(64) LOCALIZABLE, " + "`D` LONGCHAR, " + "`E` CHAR(72) NOT NULL, " + "`F` CHAR(56) NOT NULL, " + "`G` CHAR(64) NOT NULL LOCALIZABLE, " + "`H` LONGCHAR NOT NULL " + "PRIMARY KEY `A` )"; + r = run_query(hdb, 0, query); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); + + query = "CREATE TABLE `One` ( " + "`A` CHAR(64), " + "`B` CHAR(64), " + "`C` CHAR(64), " + "`D` CHAR(64), " + "`E` CHAR(64) NOT NULL, " + "`F` CHAR(64) NOT NULL, " + "`G` CHAR(64) NOT NULL, " + "`H` CHAR(64) NOT NULL " + "PRIMARY KEY `A` )"; + r = run_query(href, 0, query); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); + + /* column sting types don't match exactly */ + r = MsiDatabaseMergeA(hdb, href, "MergeErrors"); + todo_wine ok(r == ERROR_SUCCESS, + "Expected ERROR_SUCCESS, got %d\n", r); + + /* nothing in MergeErrors */ + query = "SELECT * FROM `MergeErrors`"; + r = do_query(hdb, query, &hrec); + ok(r == ERROR_BAD_QUERY_SYNTAX, + "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); + + query = "DROP TABLE `One`"; + r = run_query(hdb, 0, query); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); + + query = "DROP TABLE `One`"; + r = run_query(href, 0, query); + ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); + query = "CREATE TABLE `One` ( `A` INT, `B` INT PRIMARY KEY `A` )"; r = run_query(hdb, 0, query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);