Module: wine Branch: master Commit: d2e51963a6218e1ecb3d8127004b9c8c128dd746 URL: https://source.winehq.org/git/wine.git/?a=commit;h=d2e51963a6218e1ecb3d81270...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Jan 29 23:57:03 2019 -0600
msi/tests: Add more tests for MSIMODIFY_REFRESH.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 e59846f..f219b9a 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); }