diff --git a/rostests/winetests/msi/msi.rbuild b/rostests/winetests/msi/msi.rbuild index 545c8e3e842..18f8b5e8657 100644 --- a/rostests/winetests/msi/msi.rbuild +++ b/rostests/winetests/msi/msi.rbuild @@ -16,15 +16,16 @@ suminfo.c testlist.c wine + uuid cabinet msi shell32 ole32 oleaut32 + user32 advapi32 kernel32 version - uuid ntdll diff --git a/rostests/winetests/msi/package.c b/rostests/winetests/msi/package.c index 5178384c035..5c8741bee7b 100644 --- a/rostests/winetests/msi/package.c +++ b/rostests/winetests/msi/package.c @@ -1631,6 +1631,46 @@ static void test_condition(void) r = MsiEvaluateCondition(hpkg, "&nofeature"); ok( r == MSICONDITION_FALSE, "wrong return val (%d)\n", r); + MsiSetProperty(hpkg, "A", "2"); + MsiSetProperty(hpkg, "X", "50"); + + r = MsiEvaluateCondition(hpkg, "2 <= X"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + r = MsiEvaluateCondition(hpkg, "A <= X"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + r = MsiEvaluateCondition(hpkg, "A <= 50"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + MsiSetProperty(hpkg, "X", "50val"); + + r = MsiEvaluateCondition(hpkg, "2 <= X"); + ok( r == MSICONDITION_FALSE, "wrong return val (%d)\n", r); + + r = MsiEvaluateCondition(hpkg, "A <= X"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + MsiSetProperty(hpkg, "A", "7"); + MsiSetProperty(hpkg, "X", "50"); + + r = MsiEvaluateCondition(hpkg, "7 <= X"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + r = MsiEvaluateCondition(hpkg, "A <= X"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + r = MsiEvaluateCondition(hpkg, "A <= 50"); + ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r); + + MsiSetProperty(hpkg, "X", "50val"); + + r = MsiEvaluateCondition(hpkg, "2 <= X"); + ok( r == MSICONDITION_FALSE, "wrong return val (%d)\n", r); + + r = MsiEvaluateCondition(hpkg, "A <= X"); + ok( r == MSICONDITION_FALSE, "wrong return val (%d)\n", r); + MsiCloseHandle( hpkg ); DeleteFile(msifile); } @@ -4708,6 +4748,7 @@ static void test_installprops(void) DWORD size, type; LANGID langid; HKEY hkey1, hkey2; + int res; UINT r; GetCurrentDirectory(MAX_PATH, path); @@ -4801,6 +4842,16 @@ static void test_installprops(void) ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS< got %d\n", r); ok( !lstrcmpA(buf, path), "Expected \"%s\", got \"%s\"\n", path, buf); + res = GetSystemMetrics(SM_CXSCREEN); + size = MAX_PATH; + r = MsiGetProperty(hpkg, "ScreenX", buf, &size); + ok(atol(buf) == res, "Expected %d, got %ld\n", res, atol(buf)); + + res = GetSystemMetrics(SM_CYSCREEN); + size = MAX_PATH; + r = MsiGetProperty(hpkg, "ScreenY", buf, &size); + ok(atol(buf) == res, "Expected %d, got %ld\n", res, atol(buf)); + CloseHandle(hkey1); CloseHandle(hkey2); MsiCloseHandle(hpkg);