mshtml/tests: Get rid of a2bstr() in xmlhttprequest.c.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
605bd4591d
commit
da3a53ab20
|
@ -28,18 +28,6 @@
|
|||
#include "objsafe.h"
|
||||
#include "wine/test.h"
|
||||
|
||||
static BSTR a2bstr(const char *str)
|
||||
{
|
||||
BSTR ret;
|
||||
int len;
|
||||
|
||||
len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
|
||||
ret = SysAllocStringLen(NULL, len);
|
||||
MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define DEFINE_EXPECT(func) \
|
||||
static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
|
||||
|
||||
|
@ -374,7 +362,7 @@ static void pump_msgs(BOOL *b)
|
|||
|
||||
|
||||
struct HEADER_TYPE {
|
||||
const char *key;
|
||||
const WCHAR *key;
|
||||
const WCHAR *value;
|
||||
};
|
||||
|
||||
|
@ -428,16 +416,17 @@ static void test_header(const struct HEADER_TYPE expect[], int num)
|
|||
|
||||
for(i = 0; i < num; ++i) {
|
||||
text = NULL;
|
||||
key = a2bstr(expect[i].key);
|
||||
key = SysAllocString(expect[i].key);
|
||||
hres = IHTMLXMLHttpRequest_getResponseHeader(xhr, key, &text);
|
||||
ok(hres == S_OK, "getResponseHeader failed, got %08x\n", hres);
|
||||
ok(text != NULL, "text == NULL\n");
|
||||
ok(!lstrcmpW(text, expect[i].value),
|
||||
"Expect %s: %s, got %s\n", expect[i].key, wine_dbgstr_w(expect[i].value), wine_dbgstr_w(text));
|
||||
"Expect %s: %s, got %s\n", wine_dbgstr_w(expect[i].key), wine_dbgstr_w(expect[i].value),
|
||||
wine_dbgstr_w(text));
|
||||
SysFreeString(key);
|
||||
SysFreeString(text);
|
||||
|
||||
wsprintfW(buf, L"%S: %s", expect[i].key, expect[i].value);
|
||||
wsprintfW(buf, L"%s: %s", expect[i].key, expect[i].value);
|
||||
ok(wcsstr(all, buf) != NULL, "AllResponseHeaders(%s) don't have expected substr(%s)\n",
|
||||
wine_dbgstr_w(all), wine_dbgstr_w(buf));
|
||||
}
|
||||
|
@ -485,9 +474,9 @@ static void test_illegal_xml(IXMLDOMDocument *xmldom)
|
|||
}
|
||||
|
||||
#define set_request_header(a,b,c) _set_request_header(__LINE__,a,b,c)
|
||||
static void _set_request_header(unsigned line, IHTMLXMLHttpRequest *xhr, const char *header_a, const char *value_a)
|
||||
static void _set_request_header(unsigned line, IHTMLXMLHttpRequest *xhr, const WCHAR *header_w, const WCHAR *value_w)
|
||||
{
|
||||
BSTR header = a2bstr(header_a), value = a2bstr(value_a);
|
||||
BSTR header = SysAllocString(header_w), value = SysAllocString(value_w);
|
||||
HRESULT hres;
|
||||
|
||||
hres = IHTMLXMLHttpRequest_setRequestHeader(xhr, header, value);
|
||||
|
@ -534,10 +523,10 @@ static void test_responseXML(const WCHAR *expect_text)
|
|||
}
|
||||
|
||||
#define xhr_open(a,b) _xhr_open(__LINE__,a,b)
|
||||
static HRESULT _xhr_open(unsigned line, const char *url_a, const char *method_a)
|
||||
static HRESULT _xhr_open(unsigned line, const WCHAR *url_w, const WCHAR *method_w)
|
||||
{
|
||||
BSTR method = a2bstr(method_a);
|
||||
BSTR url = a2bstr(url_a);
|
||||
BSTR method = SysAllocString(method_w);
|
||||
BSTR url = SysAllocString(url_w);
|
||||
VARIANT async, empty;
|
||||
HRESULT hres;
|
||||
|
||||
|
@ -574,7 +563,7 @@ static void _test_response_text(unsigned line, const WCHAR *expect_text)
|
|||
SysFreeString(text);
|
||||
}
|
||||
|
||||
static void test_sync_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR *expect_text)
|
||||
static void test_sync_xhr(IHTMLDocument2 *doc, const WCHAR *xml_url, const WCHAR *expect_text)
|
||||
{
|
||||
VARIANT vbool, vempty, var;
|
||||
BSTR method, url;
|
||||
|
@ -582,8 +571,8 @@ static void test_sync_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
LONG val;
|
||||
HRESULT hres;
|
||||
static const struct HEADER_TYPE expect_headers[] = {
|
||||
{"Content-Length", L"51"},
|
||||
{"Content-Type", L"application/xml"}
|
||||
{L"Content-Length", L"51"},
|
||||
{L"Content-Type", L"application/xml"}
|
||||
};
|
||||
|
||||
trace("test_sync_xhr\n");
|
||||
|
@ -641,8 +630,8 @@ static void test_sync_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
ok(hres == E_FAIL, "got %08x\n", hres);
|
||||
ok(text == NULL, "text = %p\n", text);
|
||||
|
||||
method = a2bstr("GET");
|
||||
url = a2bstr(xml_url);
|
||||
method = SysAllocString(L"GET");
|
||||
url = SysAllocString(xml_url);
|
||||
V_VT(&vbool) = VT_BOOL;
|
||||
V_BOOL(&vbool) = VARIANT_FALSE;
|
||||
V_VT(&vempty) = VT_EMPTY;
|
||||
|
@ -685,7 +674,7 @@ static void test_sync_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
ok(hres == S_OK, "get_readyState failed: %08x\n", hres);
|
||||
ok(val == 1, "Expect OPENED, got %d\n", val);
|
||||
|
||||
set_request_header(xhr, "x-wine-test", "sync-test");
|
||||
set_request_header(xhr, L"x-wine-test", L"sync-test");
|
||||
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_headers_received);
|
||||
|
@ -733,15 +722,15 @@ static void test_sync_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
xhr = NULL;
|
||||
}
|
||||
|
||||
static void test_async_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR *expect_text)
|
||||
static void test_async_xhr(IHTMLDocument2 *doc, const WCHAR *xml_url, const WCHAR *expect_text)
|
||||
{
|
||||
VARIANT var, vempty;
|
||||
BSTR text;
|
||||
LONG val;
|
||||
HRESULT hres;
|
||||
static const struct HEADER_TYPE expect_headers[] = {
|
||||
{"Content-Length", L"51"},
|
||||
{"Content-Type", L"application/xml"}
|
||||
{L"Content-Length", L"51"},
|
||||
{L"Content-Type", L"application/xml"}
|
||||
};
|
||||
|
||||
create_xmlhttprequest(doc);
|
||||
|
@ -798,7 +787,7 @@ static void test_async_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
ok(val == 0, "Expect UNSENT, got %d\n", val);
|
||||
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
hres = xhr_open(xml_url, "GET");
|
||||
hres = xhr_open(xml_url, L"GET");
|
||||
CHECK_CALLED(xmlhttprequest_onreadystatechange_opened);
|
||||
|
||||
if(FAILED(hres)) {
|
||||
|
@ -831,7 +820,7 @@ static void test_async_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
ok(hres == S_OK, "get_readyState failed: %08x\n", hres);
|
||||
ok(val == 1, "Expect OPENED, got %d\n", val);
|
||||
|
||||
set_request_header(xhr, "x-wine-test", "async-test");
|
||||
set_request_header(xhr, L"x-wine-test", L"async-test");
|
||||
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_headers_received);
|
||||
|
@ -891,7 +880,7 @@ static void test_async_xhr(IHTMLDocument2 *doc, const char *xml_url, const WCHAR
|
|||
xhr = NULL;
|
||||
}
|
||||
|
||||
static void test_async_xhr_abort(IHTMLDocument2 *doc, const char *xml_url)
|
||||
static void test_async_xhr_abort(IHTMLDocument2 *doc, const WCHAR *xml_url)
|
||||
{
|
||||
VARIANT vempty, var;
|
||||
LONG val;
|
||||
|
@ -909,7 +898,7 @@ static void test_async_xhr_abort(IHTMLDocument2 *doc, const char *xml_url)
|
|||
hres = IHTMLXMLHttpRequest_put_onreadystatechange(xhr, var);
|
||||
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
xhr_open(xml_url, "GET");
|
||||
xhr_open(xml_url, L"GET");
|
||||
CHECK_CALLED(xmlhttprequest_onreadystatechange_opened);
|
||||
|
||||
hres = IHTMLXMLHttpRequest_abort(xhr);
|
||||
|
@ -933,7 +922,7 @@ static void test_async_xhr_abort(IHTMLDocument2 *doc, const char *xml_url)
|
|||
hres = IHTMLXMLHttpRequest_put_onreadystatechange(xhr, var);
|
||||
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
xhr_open(xml_url, "GET");
|
||||
xhr_open(xml_url, L"GET");
|
||||
CHECK_CALLED(xmlhttprequest_onreadystatechange_opened);
|
||||
|
||||
loading_cnt = 0;
|
||||
|
@ -980,13 +969,13 @@ static void test_xhr_post(IHTMLDocument2 *doc)
|
|||
ok(hres == S_OK, "put_onreadystatechange failed: %08x\n", hres);
|
||||
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
xhr_open("http://test.winehq.org/tests/post.php", "POST");
|
||||
xhr_open(L"http://test.winehq.org/tests/post.php", L"POST");
|
||||
CHECK_CALLED(xmlhttprequest_onreadystatechange_opened);
|
||||
|
||||
set_request_header(xhr, "Content-Type", "application/x-www-form-urlencoded");
|
||||
set_request_header(xhr, L"Content-Type", L"application/x-www-form-urlencoded");
|
||||
|
||||
V_VT(&v) = VT_BSTR;
|
||||
V_BSTR(&v) = a2bstr("X=Testing");
|
||||
V_BSTR(&v) = SysAllocString(L"X=Testing");
|
||||
|
||||
loading_cnt = 0;
|
||||
SET_EXPECT(xmlhttprequest_onreadystatechange_opened);
|
||||
|
@ -1013,7 +1002,7 @@ static void test_xhr_post(IHTMLDocument2 *doc)
|
|||
xhr = NULL;
|
||||
}
|
||||
|
||||
static IHTMLDocument2 *create_doc_from_url(const char *start_url)
|
||||
static IHTMLDocument2 *create_doc_from_url(const WCHAR *start_url)
|
||||
{
|
||||
BSTR url;
|
||||
IBindCtx *bc;
|
||||
|
@ -1025,7 +1014,7 @@ static IHTMLDocument2 *create_doc_from_url(const char *start_url)
|
|||
hres = CreateBindCtx(0, &bc);
|
||||
ok(hres == S_OK, "CreateBindCtx failed: 0x%08x\n", hres);
|
||||
|
||||
url = a2bstr(start_url);
|
||||
url = SysAllocString(start_url);
|
||||
hres = CreateURLMoniker(NULL, url, &url_mon);
|
||||
ok(hres == S_OK, "CreateURLMoniker failed: 0x%08x\n", hres);
|
||||
|
||||
|
@ -1058,14 +1047,14 @@ static IHTMLDocument2 *create_doc_from_url(const char *start_url)
|
|||
START_TEST(xmlhttprequest)
|
||||
{
|
||||
IHTMLDocument2 *doc;
|
||||
static const char start_url[] = "http://test.winehq.org/tests/hello.html";
|
||||
static const char xml_url[] = "http://test.winehq.org/tests/xmltest.xml";
|
||||
static const char large_page_url[] = "http://test.winehq.org/tests/data.php";
|
||||
static const WCHAR start_url[] = L"http://test.winehq.org/tests/hello.html";
|
||||
static const WCHAR xml_url[] = L"http://test.winehq.org/tests/xmltest.xml";
|
||||
static const WCHAR large_page_url[] = L"http://test.winehq.org/tests/data.php";
|
||||
static const WCHAR expect_response_text[] = L"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<a>TEST</a>";
|
||||
|
||||
CoInitialize(NULL);
|
||||
|
||||
content_type = a2bstr("Content-Type");
|
||||
content_type = SysAllocString(L"Content-Type");
|
||||
doc = create_doc_from_url(start_url);
|
||||
if(doc) {
|
||||
test_sync_xhr(doc, xml_url, expect_response_text);
|
||||
|
|
Loading…
Reference in New Issue