Zebediah Figura : msi/tests: Add some more tests for MsiViewModify() applied to joins.

Alexandre Julliard julliard at winehq.org
Wed Jan 30 17:36:15 CST 2019


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Tue Jan 29 23:57:00 2019 -0600

msi/tests: Add some more tests for MsiViewModify() applied to joins.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/tests/db.c | 55 +++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 45 insertions(+), 10 deletions(-)

diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index e8ae8d2..bcde840 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -3620,28 +3620,63 @@ static void test_join(void)
     ok( r == ERROR_SUCCESS, "failed to fetch view: %d\n", r );
     check_record(hrec, 2, "alveolar", "procerus");
 
-    r = MsiRecordSetStringA( hrec, 1, "epicranius" );
+    r = MsiRecordSetStringA( hrec, 1, "fascia" );
+    ok( r == ERROR_SUCCESS, "failed to set string: %d\n", r );
+    r = MsiRecordSetStringA( hrec, 2, "pterygoid" );
     ok( r == ERROR_SUCCESS, "failed to set string: %d\n", r );
 
-    r = MsiViewModify(hview, MSIMODIFY_UPDATE, hrec);
-    ok( r == ERROR_SUCCESS, "failed to update row: %d\n", r );
-
-    /* try another valid operation for joins */
     r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec);
     ok( r == ERROR_SUCCESS, "failed to refresh row: %d\n", r );
-    check_record(hrec, 2, "epicranius", "procerus");
+    check_record(hrec, 2, "alveolar", "procerus");
 
-    /* try an invalid operation for joins */
-    r = MsiViewModify(hview, MSIMODIFY_DELETE, hrec);
-    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+    r = MsiRecordSetStringA( hrec, 1, "epicranius" );
+    ok( r == ERROR_SUCCESS, "failed to set string: %d\n", r );
 
+    r = MsiViewModify(hview, MSIMODIFY_UPDATE, hrec);
+    ok( r == ERROR_SUCCESS, "failed to update row: %d\n", r );
+
+    /* primary key cannot be updated */
     r = MsiRecordSetStringA( hrec, 2, "epicranius" );
     ok( r == ERROR_SUCCESS, "failed to set string: %d\n", r );
 
-    /* primary key cannot be updated */
     r = MsiViewModify(hview, MSIMODIFY_UPDATE, hrec);
     ok( r == ERROR_FUNCTION_FAILED, "failed to update row: %d\n", r );
 
+    /* all other operations are invalid for joins */
+    r = MsiViewModify(hview, MSIMODIFY_SEEK, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_ASSIGN, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_REPLACE, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_MERGE, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_DELETE, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_VALIDATE, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_VALIDATE_DELETE, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    MsiRecordSetStringA(hrec, 2, "epicranius");
+    r = MsiViewModify(hview, MSIMODIFY_INSERT, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_INSERT_TEMPORARY, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_VALIDATE_NEW, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
+    r = MsiViewModify(hview, MSIMODIFY_VALIDATE_FIELD, hrec);
+    ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r );
+
     MsiCloseHandle(hrec);
     MsiViewClose(hview);
     MsiCloseHandle(hview);




More information about the wine-cvs mailing list