Nikolay Sivov : msxml3: Fix some test failures on Windows 8.
Alexandre Julliard
julliard at winehq.org
Tue Mar 12 14:21:48 CDT 2013
Module: wine
Branch: master
Commit: 40d30cf39955c501201239c4774398a2215b99b0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=40d30cf39955c501201239c4774398a2215b99b0
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Mar 12 12:58:31 2013 +0400
msxml3: Fix some test failures on Windows 8.
---
dlls/msxml3/httprequest.c | 16 ++++++++--------
dlls/msxml3/tests/httpreq.c | 16 ++++++++--------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index f9db1cd..c67177b 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -948,7 +948,8 @@ static HRESULT httprequest_getResponseHeader(httprequest *This, BSTR header, BST
{
struct httpheader *entry;
- if (!header || !value) return E_INVALIDARG;
+ if (!header) return E_INVALIDARG;
+ if (!value) return E_POINTER;
if (This->raw_respheaders && list_empty(&This->respheaders))
{
@@ -982,7 +983,7 @@ static HRESULT httprequest_getResponseHeader(httprequest *This, BSTR header, BST
static HRESULT httprequest_getAllResponseHeaders(httprequest *This, BSTR *respheaders)
{
- if (!respheaders) return E_INVALIDARG;
+ if (!respheaders) return E_POINTER;
*respheaders = SysAllocString(This->raw_respheaders);
@@ -1015,17 +1016,16 @@ static HRESULT httprequest_abort(httprequest *This)
static HRESULT httprequest_get_status(httprequest *This, LONG *status)
{
- if (!status) return E_INVALIDARG;
- if (This->state != READYSTATE_COMPLETE) return E_FAIL;
+ if (!status) return E_POINTER;
*status = This->status;
- return S_OK;
+ return This->state == READYSTATE_COMPLETE ? S_OK : E_FAIL;
}
static HRESULT httprequest_get_statusText(httprequest *This, BSTR *status)
{
- if (!status) return E_INVALIDARG;
+ if (!status) return E_POINTER;
if (This->state != READYSTATE_COMPLETE) return E_FAIL;
*status = SysAllocString(This->status_text);
@@ -1038,7 +1038,7 @@ static HRESULT httprequest_get_responseText(httprequest *This, BSTR *body)
HGLOBAL hglobal;
HRESULT hr;
- if (!body) return E_INVALIDARG;
+ if (!body) return E_POINTER;
if (This->state != READYSTATE_COMPLETE) return E_FAIL;
hr = GetHGlobalFromStream(This->bsc->stream, &hglobal);
@@ -1184,7 +1184,7 @@ static HRESULT httprequest_get_responseStream(httprequest *This, VARIANT *body)
static HRESULT httprequest_get_readyState(httprequest *This, LONG *state)
{
- if (!state) return E_INVALIDARG;
+ if (!state) return E_POINTER;
*state = This->state;
return S_OK;
diff --git a/dlls/msxml3/tests/httpreq.c b/dlls/msxml3/tests/httpreq.c
index 6744657..5c62772 100644
--- a/dlls/msxml3/tests/httpreq.c
+++ b/dlls/msxml3/tests/httpreq.c
@@ -1469,12 +1469,12 @@ static void test_XMLHTTP(void)
/* initial status code */
hr = IXMLHttpRequest_get_status(xhr, NULL);
- EXPECT_HR(hr, E_INVALIDARG);
+ ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
status = 0xdeadbeef;
hr = IXMLHttpRequest_get_status(xhr, &status);
ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
- ok(status == 0xdeadbeef, "got %d\n", status);
+ ok(status == READYSTATE_UNINITIALIZED || broken(status == 0xdeadbeef) /* <win8 */, "got %d\n", status);
hr = IXMLHttpRequest_get_statusText(xhr, &str);
ok(hr == E_FAIL, "got 0x%08x\n", hr);
@@ -1497,7 +1497,7 @@ static void test_XMLHTTP(void)
ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
hr = IXMLHttpRequest_get_readyState(xhr, NULL);
- EXPECT_HR(hr, E_INVALIDARG);
+ ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
state = -1;
hr = IXMLHttpRequest_get_readyState(xhr, &state);
@@ -1523,7 +1523,7 @@ static void test_XMLHTTP(void)
status = 0xdeadbeef;
hr = IXMLHttpRequest_get_status(xhr, &status);
ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
- ok(status == 0xdeadbeef, "got %d\n", status);
+ ok(status == READYSTATE_UNINITIALIZED || broken(status == 0xdeadbeef) /* <win8 */, "got %d\n", status);
state = -1;
hr = IXMLHttpRequest_get_readyState(xhr, &state);
@@ -1564,7 +1564,7 @@ static void test_XMLHTTP(void)
/* response headers */
hr = IXMLHttpRequest_getAllResponseHeaders(xhr, NULL);
- EXPECT_HR(hr, E_INVALIDARG);
+ ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
hr = IXMLHttpRequest_getAllResponseHeaders(xhr, &str);
EXPECT_HR(hr, S_OK);
/* status line is stripped already */
@@ -1579,7 +1579,7 @@ static void test_XMLHTTP(void)
hr = IXMLHttpRequest_getResponseHeader(xhr, NULL, NULL);
EXPECT_HR(hr, E_INVALIDARG);
hr = IXMLHttpRequest_getResponseHeader(xhr, _bstr_("Date"), NULL);
- EXPECT_HR(hr, E_INVALIDARG);
+ ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
hr = IXMLHttpRequest_getResponseHeader(xhr, _bstr_("Date"), &str);
EXPECT_HR(hr, S_OK);
ok(*str != ' ', "got leading space in header %s\n", wine_dbgstr_w(str));
@@ -1592,7 +1592,7 @@ static void test_XMLHTTP(void)
ok(status == 200, "got %d\n", status);
hr = IXMLHttpRequest_get_statusText(xhr, NULL);
- EXPECT_HR(hr, E_INVALIDARG);
+ ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
hr = IXMLHttpRequest_get_statusText(xhr, &str);
EXPECT_HR(hr, S_OK);
@@ -1640,7 +1640,7 @@ static void test_XMLHTTP(void)
EXPECT_HR(hr, S_OK);
hr = IXMLHttpRequest_get_responseText(xhr, NULL);
- EXPECT_HR(hr, E_INVALIDARG);
+ ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
hr = IXMLHttpRequest_get_responseText(xhr, &bstrResponse);
EXPECT_HR(hr, S_OK);
More information about the wine-cvs
mailing list