Mike McCormack : msi: Add a test showing which tables are special.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Nov 17 04:54:15 CST 2006
Module: wine
Branch: master
Commit: 2f2143b4ecacd8bed120928da1386ae1d299c41b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2f2143b4ecacd8bed120928da1386ae1d299c41b
Author: Mike McCormack <mike at codeweavers.com>
Date: Fri Nov 17 15:15:03 2006 +0900
msi: Add a test showing which tables are special.
---
dlls/msi/tests/db.c | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 21fa374..441d6f5 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -3122,6 +3122,39 @@ static void test_update(void)
ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n");
}
+void test_special_tables(void)
+{
+ const char *query;
+ MSIHANDLE hdb = 0;
+ UINT r;
+
+ r = MsiOpenDatabase(msifile, MSIDBOPEN_CREATE, &hdb);
+ ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n");
+
+ query = "CREATE TABLE `_Properties` ( "
+ "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
+ r = run_query(hdb, 0, query);
+ ok(r == ERROR_SUCCESS, "failed to create table\n");
+
+ query = "CREATE TABLE `_Streams` ( "
+ "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
+ r = run_query(hdb, 0, query);
+ todo_wine ok(r == ERROR_BAD_QUERY_SYNTAX, "created _Streams table\n");
+
+ query = "CREATE TABLE `_Tables` ( "
+ "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
+ r = run_query(hdb, 0, query);
+ ok(r == ERROR_BAD_QUERY_SYNTAX, "created _Tables table\n");
+
+ query = "CREATE TABLE `_Columns` ( "
+ "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)";
+ r = run_query(hdb, 0, query);
+ ok(r == ERROR_BAD_QUERY_SYNTAX, "created _Columns table\n");
+
+ r = MsiCloseHandle(hdb);
+ ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n");
+}
+
START_TEST(db)
{
test_msidatabase();
@@ -3144,4 +3177,5 @@ START_TEST(db)
test_alter();
test_integers();
test_update();
+ test_special_tables();
}
More information about the wine-cvs
mailing list