shlwapi/tests: Replace RegDeleteTreeW to run the tests again.
This commit is contained in:
parent
78c75e20ae
commit
40d7448895
|
@ -32,19 +32,6 @@ static const WCHAR dotBad[] = { '.','b','a','d',0 };
|
||||||
static const WCHAR open[] = { 'o','p','e','n',0 };
|
static const WCHAR open[] = { 'o','p','e','n',0 };
|
||||||
static const WCHAR invalid[] = { 'i','n','v','a','l','i','d',0 };
|
static const WCHAR invalid[] = { 'i','n','v','a','l','i','d',0 };
|
||||||
|
|
||||||
/* copied from libs/wine/string.c */
|
|
||||||
WCHAR *strstrW(const WCHAR *str, const WCHAR *sub)
|
|
||||||
{
|
|
||||||
while (*str)
|
|
||||||
{
|
|
||||||
const WCHAR *p1 = str, *p2 = sub;
|
|
||||||
while (*p1 && *p2 && *p1 == *p2) { p1++; p2++; }
|
|
||||||
if (!*p2) return (WCHAR *)str;
|
|
||||||
str++;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void test_getstring_bad(void)
|
static void test_getstring_bad(void)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
@ -145,57 +132,63 @@ static void test_getstring_no_extra(void)
|
||||||
LONG ret;
|
LONG ret;
|
||||||
HKEY hkey;
|
HKEY hkey;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
static const WCHAR dotWinetest[] = {
|
static const CHAR dotWinetest[] = {
|
||||||
'.','w','i','n','e','t','e','s','t',0
|
'.','w','i','n','e','t','e','s','t',0
|
||||||
};
|
};
|
||||||
static const WCHAR winetestfile[] = {
|
static const CHAR winetestfile[] = {
|
||||||
'w','i','n','e','t','e','s','t', 'f','i','l','e',0
|
'w','i','n','e','t','e','s','t', 'f','i','l','e',0
|
||||||
};
|
};
|
||||||
static const WCHAR winetestfileAction[] = {
|
static const CHAR winetestfileAction[] = {
|
||||||
'w','i','n','e','t','e','s','t','f','i','l','e',
|
'w','i','n','e','t','e','s','t','f','i','l','e',
|
||||||
'\\','s','h','e','l','l',
|
'\\','s','h','e','l','l',
|
||||||
'\\','f','o','o',
|
'\\','f','o','o',
|
||||||
'\\','c','o','m','m','a','n','d',0
|
'\\','c','o','m','m','a','n','d',0
|
||||||
};
|
};
|
||||||
static const WCHAR action[] = {
|
static const CHAR action[] = {
|
||||||
'n','o','t','e','p','a','d','.','e','x','e',0
|
'n','o','t','e','p','a','d','.','e','x','e',0
|
||||||
};
|
};
|
||||||
WCHAR buf[MAX_PATH];
|
CHAR buf[MAX_PATH];
|
||||||
DWORD len = MAX_PATH;
|
DWORD len = MAX_PATH;
|
||||||
|
|
||||||
ret = RegCreateKeyW(HKEY_CLASSES_ROOT, dotWinetest, &hkey);
|
buf[0] = '\0';
|
||||||
if (ret != ERROR_SUCCESS)
|
ret = RegCreateKeyA(HKEY_CLASSES_ROOT, dotWinetest, &hkey);
|
||||||
|
if (ret != ERROR_SUCCESS) {
|
||||||
skip("failed to create dotWinetest key\n");
|
skip("failed to create dotWinetest key\n");
|
||||||
ret = RegSetValueW(hkey, NULL, REG_SZ, winetestfile,
|
return;
|
||||||
lstrlenW(winetestfile));
|
}
|
||||||
|
|
||||||
|
ret = RegSetValueA(hkey, NULL, REG_SZ, winetestfile, lstrlenA(winetestfile));
|
||||||
RegCloseKey(hkey);
|
RegCloseKey(hkey);
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
RegDeleteTreeW(HKEY_CLASSES_ROOT, dotWinetest);
|
|
||||||
skip("failed to set dotWinetest key\n");
|
skip("failed to set dotWinetest key\n");
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = RegCreateKeyW(HKEY_CLASSES_ROOT, winetestfileAction, &hkey);
|
ret = RegCreateKeyA(HKEY_CLASSES_ROOT, winetestfileAction, &hkey);
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
RegDeleteTreeW(HKEY_CLASSES_ROOT, dotWinetest);
|
|
||||||
skip("failed to create winetestfileAction key\n");
|
skip("failed to create winetestfileAction key\n");
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
ret = RegSetValueW(hkey, NULL, REG_SZ, action, lstrlenW(action));
|
|
||||||
|
ret = RegSetValueA(hkey, NULL, REG_SZ, action, lstrlenA(action));
|
||||||
RegCloseKey(hkey);
|
RegCloseKey(hkey);
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
RegDeleteTreeW(HKEY_CLASSES_ROOT, dotWinetest);
|
|
||||||
RegDeleteTreeW(HKEY_CLASSES_ROOT, winetestfile);
|
|
||||||
skip("failed to set winetestfileAction key\n");
|
skip("failed to set winetestfileAction key\n");
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = AssocQueryStringW(0, ASSOCSTR_EXECUTABLE, dotWinetest, NULL,
|
hr = AssocQueryStringA(0, ASSOCSTR_EXECUTABLE, dotWinetest, NULL, buf, &len);
|
||||||
buf, &len);
|
|
||||||
expect_hr(S_OK, hr);
|
expect_hr(S_OK, hr);
|
||||||
ok(strstrW(buf, action) != NULL, "exe path does not contain notepad\n");
|
ok(strstr(buf, action) != NULL,
|
||||||
RegDeleteTreeW(HKEY_CLASSES_ROOT, dotWinetest);
|
"got '%s' (Expected result to include 'notepad.exe')\n", buf);
|
||||||
RegDeleteTreeW(HKEY_CLASSES_ROOT, winetestfile);
|
|
||||||
|
cleanup:
|
||||||
|
SHDeleteKeyA(HKEY_CLASSES_ROOT, dotWinetest);
|
||||||
|
SHDeleteKeyA(HKEY_CLASSES_ROOT, winetestfile);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
START_TEST(assoc)
|
START_TEST(assoc)
|
||||||
|
|
Loading…
Reference in New Issue