Jacek Caban : mshtml: Added more IHTMLObjectElement tests.

Alexandre Julliard julliard at winehq.org
Thu Aug 16 15:26:14 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Aug 16 15:43:19 2012 +0200

mshtml: Added more IHTMLObjectElement tests.

---

 dlls/mshtml/tests/activex.c |   55 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/tests/activex.c b/dlls/mshtml/tests/activex.c
index 02b9d01..ebd2057 100644
--- a/dlls/mshtml/tests/activex.c
+++ b/dlls/mshtml/tests/activex.c
@@ -90,6 +90,7 @@ DEFINE_EXPECT(QI_ITestActiveX);
 DEFINE_EXPECT(wrapped_AddRef);
 DEFINE_EXPECT(wrapped_Release);
 DEFINE_EXPECT(wrapped_func);
+DEFINE_EXPECT(OnAmbientPropertyChange_UNKNOWN);
 
 #define DISPID_SCRIPTPROP 1000
 
@@ -305,8 +306,15 @@ static HRESULT WINAPI OleControl_OnMnemonic(IOleControl *iface, MSG *mMsg)
 
 static HRESULT WINAPI OleControl_OnAmbientPropertyChange(IOleControl *iface, DISPID dispID)
 {
-    ok(0, "unexpected call\n");
-    return E_NOTIMPL;
+    switch(dispID) {
+    case DISPID_UNKNOWN:
+        CHECK_EXPECT(OnAmbientPropertyChange_UNKNOWN);
+        break;
+    default:
+        ok(0, "unexpected call %d\n", dispID);
+    }
+
+    return S_OK;
 }
 
 static HRESULT WINAPI OleControl_FreezeEvents(IOleControl *iface, BOOL bFreeze)
@@ -1389,6 +1397,7 @@ static void test_object_elem(IHTMLDocument2 *doc)
     IDispatchEx *dispex;
     IHTMLElement *elem;
     IDispatch *disp;
+    VARIANT v;
     BSTR str;
     HRESULT hres;
 
@@ -1420,6 +1429,48 @@ static void test_object_elem(IHTMLDocument2 *doc)
 
     test_iface_wrapping(objelem);
 
+    hres = IHTMLObjectElement_get_width(objelem, &v);
+    ok(hres == S_OK, "get_width failed: %08x\n", hres);
+    ok(V_VT(&v) == VT_BSTR, "V_VT(width) = %d\n", V_VT(&v));
+    ok(!strcmp_wa(V_BSTR(&v), "300"), "V_BSTR(width) = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+    VariantClear(&v);
+
+    hres = IHTMLObjectElement_get_height(objelem, &v);
+    ok(hres == S_OK, "get_height failed: %08x\n", hres);
+    ok(V_VT(&v) == VT_BSTR, "V_VT(height) = %d\n", V_VT(&v));
+    ok(!strcmp_wa(V_BSTR(&v), "200"), "V_BSTR(height) = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+    VariantClear(&v);
+
+    V_VT(&v) = VT_I4;
+    V_I4(&v) = 400;
+    SET_EXPECT(OnAmbientPropertyChange_UNKNOWN);
+    SET_EXPECT(Invoke_ENABLED);
+    hres = IHTMLObjectElement_put_width(objelem, v);
+    ok(hres == S_OK, "put_width failed: %08x\n", hres);
+    CHECK_CALLED(OnAmbientPropertyChange_UNKNOWN);
+    CHECK_CALLED(Invoke_ENABLED);
+
+    hres = IHTMLObjectElement_get_width(objelem, &v);
+    ok(hres == S_OK, "get_width failed: %08x\n", hres);
+    ok(V_VT(&v) == VT_BSTR, "V_VT(width) = %d\n", V_VT(&v));
+    ok(!strcmp_wa(V_BSTR(&v), "400"), "V_BSTR(width) = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+    VariantClear(&v);
+
+    V_VT(&v) = VT_I4;
+    V_I4(&v) = 250;
+    SET_EXPECT(OnAmbientPropertyChange_UNKNOWN);
+    SET_EXPECT(Invoke_ENABLED);
+    hres = IHTMLObjectElement_put_height(objelem, v);
+    ok(hres == S_OK, "put_height failed: %08x\n", hres);
+    CHECK_CALLED(OnAmbientPropertyChange_UNKNOWN);
+    CHECK_CALLED(Invoke_ENABLED);
+
+    hres = IHTMLObjectElement_get_height(objelem, &v);
+    ok(hres == S_OK, "get_height failed: %08x\n", hres);
+    ok(V_VT(&v) == VT_BSTR, "V_VT(height) = %d\n", V_VT(&v));
+    ok(!strcmp_wa(V_BSTR(&v), "250"), "V_BSTR(height) = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+    VariantClear(&v);
+
     IHTMLObjectElement_Release(objelem);
 }
 




More information about the wine-cvs mailing list