[PATCH 2/4] shell32/tests: Add tests for ShellLinkObject.

Nikolay Sivov nsivov at codeweavers.com
Sun Sep 13 16:13:01 CDT 2020



On 9/13/20 11:34 PM, Myah Caron wrote:
> +    GetTempPathW(MAX_PATH, path);
> +    GetCurrentDirectoryW(MAX_PATH, orig_dir);
> +    SetCurrentDirectoryW(path);
> +    V_VT(&v) = VT_BSTR;
> +    V_BSTR(&v) = SysAllocString(path);
> +    hr = IShellDispatch_NameSpace(sd, v, &folder);
> +    ok(hr == S_OK, "got 0x%08x\n", hr);
> +    VariantClear(&v);
Do you really need to change the cwd? Does it work if you pass full path
as 'v'?
> +    dispatch = (IDispatch*)0xdeadbeef;
> +    hr = FolderItem_get_GetLink(item, &dispatch);
> +    todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
> +    todo_wine ok(dispatch && dispatch != (IDispatch*)0xdeadbeef, "got %p\n", dispatch);
This one should really check that returned is pointer is not NULL.

> +    str = SysAllocString(L"winetest_filled.lnk");
> +    Folder2_ParseName(folder2, str, &item);
> +    ok(hr == S_OK, "got 0x%08x\n", hr);
> +    SysFreeString(str);
Missing assignment.
> +        str = (BSTR)0xdeadbeef;
> +        hr = IShellLinkDual2_get_Path(sld, &str);
> +        todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
> +        if (hr == S_OK) {
> +            GetFullPathNameW(L"winetest_empty_file.txt", MAX_PATH, tempW, NULL);
> +            ok(!wcscmp(str, tempW), "got %s\n", wine_dbgstr_w(str));
> +            SysFreeString(str);
> +        }
Same as above, just set it to NULL.




More information about the wine-devel mailing list