Jacek Caban : mshtml/tests: Fixed xmlhttprequest tests on IE7.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Feb 9 10:46:47 CST 2016


Module: wine
Branch: master
Commit: f614d7fa5283b30a058f2537dde77bd27ddb3b46
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f614d7fa5283b30a058f2537dde77bd27ddb3b46

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Feb  8 18:12:54 2016 +0100

mshtml/tests: Fixed xmlhttprequest tests on IE7.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/tests/xmlhttprequest.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/dlls/mshtml/tests/xmlhttprequest.c b/dlls/mshtml/tests/xmlhttprequest.c
index b402aeb..dd8e797 100644
--- a/dlls/mshtml/tests/xmlhttprequest.c
+++ b/dlls/mshtml/tests/xmlhttprequest.c
@@ -83,7 +83,7 @@ DEFINE_EXPECT(xmlhttprequest_onreadystatechange_loading);
 DEFINE_EXPECT(xmlhttprequest_onreadystatechange_done);
 
 #define test_disp(u,id) _test_disp(__LINE__,u,id)
-static void _test_disp(unsigned line, IUnknown *unk, const IID *diid)
+static void _test_disp(unsigned line, IUnknown *unk, const IID *diid, const IID *broken_diid)
 {
     IDispatchEx *dispex;
     ITypeInfo *typeinfo;
@@ -108,8 +108,9 @@ static void _test_disp(unsigned line, IUnknown *unk, const IID *diid)
 
         hres = ITypeInfo_GetTypeAttr(typeinfo, &type_attr);
         ok_(__FILE__,line) (hres == S_OK, "GetTypeAttr failed: %08x\n", hres);
-        ok_(__FILE__,line) (IsEqualGUID(&type_attr->guid, diid), "unexpected guid %s\n",
-                            wine_dbgstr_guid(&type_attr->guid));
+        ok_(__FILE__,line) (IsEqualGUID(&type_attr->guid, diid)
+                            || broken(broken_diid && IsEqualGUID(&type_attr->guid, broken_diid)),
+                            "unexpected guid %s\n", wine_dbgstr_guid(&type_attr->guid));
 
         ITypeInfo_ReleaseTypeAttr(typeinfo, type_attr);
         ITypeInfo_Release(typeinfo);
@@ -118,9 +119,9 @@ static void _test_disp(unsigned line, IUnknown *unk, const IID *diid)
     IDispatchEx_Release(dispex);
 }
 
-#define test_event_args(a,b,c,d,e,f,g) _test_event_args(__LINE__,a,b,c,d,e,f,g)
-static void _test_event_args(unsigned line, const IID *dispiid, DISPID id, WORD wFlags, DISPPARAMS *pdp,
-        VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
+#define test_event_args(a,b,c,d,e,f,g,h) _test_event_args(__LINE__,a,b,c,d,e,f,g,h)
+static void _test_event_args(unsigned line, const IID *dispiid, const IID *broken_dispiid, DISPID id, WORD wFlags,
+        DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
 {
     ok_(__FILE__,line) (id == DISPID_VALUE, "id = %d\n", id);
     ok_(__FILE__,line) (wFlags == DISPATCH_METHOD, "wFlags = %x\n", wFlags);
@@ -135,7 +136,7 @@ static void _test_event_args(unsigned line, const IID *dispiid, DISPID id, WORD
     ok_(__FILE__,line) (!pspCaller, "pspCaller != NULL\n");
 
     if(dispiid)
-        _test_disp(line, (IUnknown*)V_DISPATCH(pdp->rgvarg), dispiid);
+        _test_disp(line, (IUnknown*)V_DISPATCH(pdp->rgvarg), dispiid, broken_dispiid);
 }
 
 static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
@@ -241,7 +242,7 @@ static HRESULT WINAPI xmlhttprequest_onreadystatechange(IDispatchEx *iface, DISP
     LONG val;
     HRESULT hres;
 
-    test_event_args(&DIID_DispHTMLXMLHttpRequest, id, wFlags, pdp, pvarRes, pei, pspCaller);
+    test_event_args(&DIID_DispHTMLXMLHttpRequest, &IID_IHTMLXMLHttpRequest, id, wFlags, pdp, pvarRes, pei, pspCaller);
 
     hres = IHTMLXMLHttpRequest_get_readyState(xhr, &val);
     ok(hres == S_OK, "get_readyState failed: %08x\n", hres);




More information about the wine-cvs mailing list