[PATCH v2 4/6] msi/tests: Add more tests for MSIMODIFY_REFRESH.

Zebediah Figura z.figura12 at gmail.com
Tue Jan 29 23:57:03 CST 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/msi/tests/db.c | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index e59846ffad..f219b9a9a3 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -6750,6 +6750,17 @@ static void test_viewmodify_refresh(void)
 
     r = MsiViewFetch(hview, &hrec);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+    check_record(hrec, 2, "hi", "1");
+
+    MsiRecordSetInteger(hrec, 2, 5);
+    r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec);
+    ok(!r, "got %u\n", r);
+    check_record(hrec, 2, "hi", "1");
+
+    MsiRecordSetStringA(hrec, 1, "foo");
+    r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec);
+    ok(!r, "got %u\n", r);
+    check_record(hrec, 2, "hi", "1");
 
     query = "UPDATE `Table` SET `B` = 2 WHERE `A` = 'hi'";
     r = run_query(hdb, 0, query);
@@ -6758,6 +6769,14 @@ static void test_viewmodify_refresh(void)
     r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     check_record(hrec, 2, "hi", "2");
+
+    r = run_query(hdb, 0, "UPDATE `Table` SET `B` = NULL WHERE `A` = 'hi'");
+    ok(!r, "got %u\n", r);
+
+    r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec);
+    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+    check_record(hrec, 2, "hi", "");
+
     MsiCloseHandle(hrec);
 
     MsiViewClose(hview);
@@ -6791,6 +6810,24 @@ static void test_viewmodify_refresh(void)
 
     MsiViewClose(hview);
     MsiCloseHandle(hview);
+
+    r = MsiDatabaseOpenViewA(hdb, "SELECT `B` FROM `Table` WHERE `A` = 'hello'", &hview);
+    ok(!r, "got %u\n", r);
+    r = MsiViewExecute(hview, 0);
+    ok(!r, "got %u\n", r);
+
+    r = MsiViewFetch(hview, &hrec);
+    ok(!r, "got %u\n", r);
+    check_record(hrec, 1, "2");
+
+    MsiRecordSetInteger(hrec, 1, 8);
+    r = MsiViewModify(hview, MSIMODIFY_REFRESH, hrec);
+    ok(!r, "got %u\n", r);
+    check_record(hrec, 1, "2");
+
+    MsiCloseHandle(hrec);
+    MsiCloseHandle(hview);
+
     MsiCloseHandle(hdb);
     DeleteFileA(msifile);
 }
-- 
2.20.1




More information about the wine-devel mailing list