itss/tests: Get rid of a2w() and strcmp_wa().

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Stefaniuc 2020-02-05 01:40:16 +01:00 committed by Alexandre Julliard
parent 829dff0ee7
commit f4259cf25f

View file

@ -98,24 +98,6 @@ static const WCHAR cache_file3[] =
{'t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l','/',0}; {'t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l','/',0};
static const WCHAR *cache_file = cache_file1; static const WCHAR *cache_file = cache_file1;
static const WCHAR *a2w(const char *str)
{
static WCHAR bufs[8][128];
static int i;
if(!str)
return NULL;
i = (i+1) % 8;
MultiByteToWideChar(CP_ACP, 0, str, -1, bufs[i], 128);
return bufs[i];
}
static int strcmp_wa(const WCHAR *str1, const char *str2)
{
return lstrcmpW(str1, a2w(str2));
}
static HRESULT WINAPI ProtocolSink_QueryInterface(IInternetProtocolSink *iface, REFIID riid, void **ppv) static HRESULT WINAPI ProtocolSink_QueryInterface(IInternetProtocolSink *iface, REFIID riid, void **ppv)
{ {
if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetProtocolSink, riid)) { if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IInternetProtocolSink, riid)) {
@ -456,34 +438,34 @@ static void test_protocol_url(IClassFactory *factory, LPCWSTR url, BOOL expect_m
} }
static const struct { static const struct {
const char *base_url; const WCHAR *base_url;
const char *rel_url; const WCHAR *rel_url;
DWORD flags; DWORD flags;
HRESULT hres; HRESULT hres;
const char *combined_url; const WCHAR *combined_url;
} combine_tests[] = { } combine_tests[] = {
{"its:test.chm::/blank.html", "its:test.chm::/blank.html", 0, STG_E_INVALIDNAME, NULL}, {L"its:test.chm::/blank.html", L"its:test.chm::/blank.html", 0, STG_E_INVALIDNAME, NULL},
{"mS-iTs:test.chm::/blank.html", "mS-iTs:test.chm::/blank.html", 0, STG_E_INVALIDNAME, NULL}, {L"mS-iTs:test.chm::/blank.html", L"mS-iTs:test.chm::/blank.html", 0, STG_E_INVALIDNAME, NULL},
{"its:test.chm::/blank.html", "test.html", 0, S_OK, "its:test.chm::/test.html"}, {L"its:test.chm::/blank.html", L"test.html", 0, S_OK, L"its:test.chm::/test.html"},
{"its:test.chm::/blank.html", "test.chm::/test.html", 0, STG_E_INVALIDNAME, NULL}, {L"its:test.chm::/blank.html", L"test.chm::/test.html", 0, STG_E_INVALIDNAME, NULL},
{"its:test.chm::/blank.html", "/test.html", 0, S_OK, "its:test.chm::/test.html"}, {L"its:test.chm::/blank.html", L"/test.html", 0, S_OK, L"its:test.chm::/test.html"},
{"its:test.chm::/blank.html", "te:t.html", 0, STG_E_INVALIDNAME, NULL}, {L"its:test.chm::/blank.html", L"te:t.html", 0, STG_E_INVALIDNAME, NULL},
{"its:test.chm::/blank.html", "/test.html", URL_ESCAPE_SPACES_ONLY|URL_DONT_ESCAPE_EXTRA_INFO, S_OK, "its:test.chm::/test.html"}, {L"its:test.chm::/blank.html", L"/test.html", URL_ESCAPE_SPACES_ONLY|URL_DONT_ESCAPE_EXTRA_INFO, S_OK, L"its:test.chm::/test.html"},
{"its:test.chm::/blank.html", "dir/test.html", 0, S_OK, "its:test.chm::/dir/test.html"}, {L"its:test.chm::/blank.html", L"dir/test.html", 0, S_OK, L"its:test.chm::/dir/test.html"},
{"test.html", "test.chm::/test.html", 0, 0x80041001, NULL}, {L"test.html", L"test.chm::/test.html", 0, 0x80041001, NULL},
{"its:test:.chm::/blank.html", "test.html", 0, S_OK, "its:test:.chm::/test.html"}, {L"its:test:.chm::/blank.html", L"test.html", 0, S_OK, L"its:test:.chm::/test.html"},
{"its:test.chm::/dir/blank.html", "test.html", 0, S_OK, "its:test.chm::/dir/test.html"}, {L"its:test.chm::/dir/blank.html", L"test.html", 0, S_OK, L"its:test.chm::/dir/test.html"},
{"its:test.chm::blank.html", "test.html", 0, S_OK, "its:test.chm::blank.htmltest.html"}, {L"its:test.chm::blank.html", L"test.html", 0, S_OK, L"its:test.chm::blank.htmltest.html"},
{"ms-its:test.chm::/dir/blank.html", "test.html", 0, S_OK, "ms-its:test.chm::/dir/test.html"}, {L"ms-its:test.chm::/dir/blank.html", L"test.html", 0, S_OK, L"ms-its:test.chm::/dir/test.html"},
{"mk:@MSITStore:test.chm::/dir/blank.html", "test.html", 0, S_OK, "mk:@MSITStore:test.chm::/dir/test.html"}, {L"mk:@MSITStore:test.chm::/dir/blank.html", L"test.html", 0, S_OK, L"mk:@MSITStore:test.chm::/dir/test.html"},
{"xxx:test.chm::/dir/blank.html", "test.html", 0, INET_E_USE_DEFAULT_PROTOCOLHANDLER, NULL}, {L"xxx:test.chm::/dir/blank.html", L"test.html", 0, INET_E_USE_DEFAULT_PROTOCOLHANDLER, NULL},
{"its:test.chm::/dir/blank.html", "/test.html", 0, S_OK, "its:test.chm::/test.html"}, {L"its:test.chm::/dir/blank.html", L"/test.html", 0, S_OK, L"its:test.chm::/test.html"},
{"its:test.chm::/blank.html", "#frag", 0, S_OK, "its:test.chm::/blank.html#frag"}, {L"its:test.chm::/blank.html", L"#frag", 0, S_OK, L"its:test.chm::/blank.html#frag"},
{"its:test.chm::/blank.html#hash", "#frag", 0, S_OK, "its:test.chm::/blank.html#hash#frag"}, {L"its:test.chm::/blank.html#hash", L"#frag", 0, S_OK, L"its:test.chm::/blank.html#hash#frag"},
{"its:test.chm::/blank.html", "test.html#frag", 0, S_OK, "its:test.chm::/test.html#frag"}, {L"its:test.chm::/blank.html", L"test.html#frag", 0, S_OK, L"its:test.chm::/test.html#frag"},
{"its:test.chm::/blank.html", "/test.html#frag", 0, S_OK, "its:test.chm::/test.html#frag"}, {L"its:test.chm::/blank.html", L"/test.html#frag", 0, S_OK, L"its:test.chm::/test.html#frag"},
{"its:test.chm::/blank.html", "?query", 0, S_OK, "its:test.chm::/?query"}, {L"its:test.chm::/blank.html", L"?query", 0, S_OK, L"its:test.chm::/?query"},
{"its:test.chm::/blank.html#frag/blank", "test.html", 0, S_OK, "its:test.chm::/blank.html#frag/test.html"}, {L"its:test.chm::/blank.html#frag/blank", L"test.html", 0, S_OK, L"its:test.chm::/blank.html#frag/test.html"},
}; };
static void test_its_protocol_info(IInternetProtocol *protocol) static void test_its_protocol_info(IInternetProtocol *protocol)
@ -510,22 +492,21 @@ static void test_its_protocol_info(IInternetProtocol *protocol)
for(i=0; i < ARRAY_SIZE(combine_tests); i++) { for(i=0; i < ARRAY_SIZE(combine_tests); i++) {
size = 0xdeadbeef; size = 0xdeadbeef;
memset(buf, 0xfe, sizeof(buf)); memset(buf, 0xfe, sizeof(buf));
hres = IInternetProtocolInfo_CombineUrl(info, a2w(combine_tests[i].base_url), hres = IInternetProtocolInfo_CombineUrl(info, combine_tests[i].base_url,
a2w(combine_tests[i].rel_url), combine_tests[i].flags, buf, combine_tests[i].rel_url, combine_tests[i].flags, buf, ARRAY_SIZE(buf), &size, 0);
ARRAY_SIZE(buf), &size, 0);
ok(hres == combine_tests[i].hres, "[%d] CombineUrl returned %08x, expected %08x\n", ok(hres == combine_tests[i].hres, "[%d] CombineUrl returned %08x, expected %08x\n",
i, hres, combine_tests[i].hres); i, hres, combine_tests[i].hres);
ok(size == (combine_tests[i].combined_url ? strlen(combine_tests[i].combined_url)+1 ok(size == (combine_tests[i].combined_url ? lstrlenW(combine_tests[i].combined_url)+1
: 0xdeadbeef), "[%d] unexpected size=%d\n", i, size); : 0xdeadbeef), "[%d] unexpected size=%d\n", i, size);
if(combine_tests[i].combined_url) if(combine_tests[i].combined_url)
ok(!strcmp_wa(buf, combine_tests[i].combined_url), "[%d] unexpected result: %s\n", i, wine_dbgstr_w(buf)); ok(!lstrcmpW(buf, combine_tests[i].combined_url), "[%d] unexpected result: %s\n", i, wine_dbgstr_w(buf));
else else
ok(buf[0] == 0xfefe, "buf changed\n"); ok(buf[0] == 0xfefe, "buf changed\n");
} }
size = 0xdeadbeef; size = 0xdeadbeef;
memset(buf, 0xfe, sizeof(buf)); memset(buf, 0xfe, sizeof(buf));
hres = IInternetProtocolInfo_CombineUrl(info, a2w("its:test.chm::/blank.html"), a2w("test.html"), 0, buf, hres = IInternetProtocolInfo_CombineUrl(info, L"its:test.chm::/blank.html", L"test.html", 0, buf,
1, &size, 0); 1, &size, 0);
ok(hres == E_OUTOFMEMORY, "CombineUrl failed: %08x\n", hres); ok(hres == E_OUTOFMEMORY, "CombineUrl failed: %08x\n", hres);
ok(size == 25, "size=%d\n", size); ok(size == 25, "size=%d\n", size);