X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=rostests%2Fwinetests%2Fmsi%2Fdb.c;h=4c91bd80c7d19a0f9afb77e23791d10b55dc81aa;hp=d33eb0c857e2da73436c28bce53ce65a350f084c;hb=e416c7974506d118184bc1ecbc0ba14ef037ed8c;hpb=1ead8de25d94ee6b979e9671f5782973946a505b diff --git a/rostests/winetests/msi/db.c b/rostests/winetests/msi/db.c index d33eb0c857e..4c91bd80c7d 100644 --- a/rostests/winetests/msi/db.c +++ b/rostests/winetests/msi/db.c @@ -923,6 +923,30 @@ static void test_viewmodify(void) r = MsiViewModify(hview, MSIMODIFY_INSERT_TEMPORARY, hrec ); ok(r == ERROR_FUNCTION_FAILED, "MsiViewModify failed\n"); + /* try to merge the same record */ + r = MsiViewExecute(hview, 0); + ok(r == ERROR_SUCCESS, "MsiViewExecute failed\n"); + r = MsiViewModify(hview, MSIMODIFY_MERGE, hrec ); + ok(r == ERROR_SUCCESS, "MsiViewModify failed\n"); + + r = MsiCloseHandle(hrec); + ok(r == ERROR_SUCCESS, "failed to close record\n"); + + /* try merging a new record */ + hrec = MsiCreateRecord(3); + + r = MsiRecordSetInteger(hrec, 1, 10); + ok(r == ERROR_SUCCESS, "failed to set integer\n"); + r = MsiRecordSetString(hrec, 2, "pepe"); + ok(r == ERROR_SUCCESS, "failed to set string\n"); + r = MsiRecordSetString(hrec, 3, "7654321"); + ok(r == ERROR_SUCCESS, "failed to set string\n"); + + r = MsiViewModify(hview, MSIMODIFY_MERGE, hrec ); + ok(r == ERROR_SUCCESS, "MsiViewModify failed\n"); + r = MsiViewExecute(hview, 0); + ok(r == ERROR_SUCCESS, "MsiViewExecute failed\n"); + r = MsiCloseHandle(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n");