Jacek Caban : mshtml: Event tests code clean up.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Apr 5 11:07:33 CDT 2016
Module: wine
Branch: master
Commit: 529a7ed55fa63b48afb27f7f454696c880a3039b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=529a7ed55fa63b48afb27f7f454696c880a3039b
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Apr 4 18:02:04 2016 +0200
mshtml: Event tests code clean up.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/tests/events.c | 51 ++++++++++++++++++----------------------------
1 file changed, 20 insertions(+), 31 deletions(-)
diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c
index c3aa352..ad0547e 100644
--- a/dlls/mshtml/tests/events.c
+++ b/dlls/mshtml/tests/events.c
@@ -295,6 +295,7 @@ static IHTMLElement *_get_elem_id(unsigned line, IHTMLDocument2 *doc, const char
SysFreeString(str);
IHTMLDocument3_Release(doc3);
ok_(__FILE__,line) (hres == S_OK, "getElementById failed: %08x\n", hres);
+ ok_(__FILE__,line) (elem != NULL, "elem == NULL\n");
return elem;
}
@@ -2206,48 +2207,36 @@ static void test_timeout(IHTMLDocument2 *doc)
IHTMLWindow3_Release(win3);
}
-static IHTMLElement* find_element_by_id(IHTMLDocument2 *doc, const char *id)
+static IHTMLWindow2 *get_iframe_window(IHTMLIFrameElement *iframe)
{
+ IHTMLWindow2 *window;
+ IHTMLFrameBase2 *base;
HRESULT hres;
- IHTMLDocument3 *doc3;
- IHTMLElement *result;
- BSTR idW = a2bstr(id);
- hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (void**)&doc3);
- ok(hres == S_OK, "QueryInterface(IID_IHTMLDocument3) failed: %08x\n", hres);
+ hres = IHTMLIFrameElement_QueryInterface(iframe, &IID_IHTMLFrameBase2, (void**)&base);
+ ok(hres == S_OK, "QueryInterface(IID_IHTMLFrameBase2) failed: %08x\n", hres);
- hres = IHTMLDocument3_getElementById(doc3, idW, &result);
- ok(hres == S_OK, "getElementById failed: %08x\n", hres);
- ok(result != NULL, "result == NULL\n");
- SysFreeString(idW);
+ hres = IHTMLFrameBase2_get_contentWindow(base, &window);
+ ok(hres == S_OK, "get_contentWindow failed: %08x\n", hres);
+ ok(window != NULL, "window == NULL\n");
- IHTMLDocument3_Release(doc3);
- return result;
+ if(base) IHTMLFrameBase2_Release(base);
+ return window;
}
-static IHTMLDocument2* get_iframe_doc(IHTMLIFrameElement *iframe)
+static IHTMLDocument2 *get_iframe_doc(IHTMLIFrameElement *iframe)
{
- HRESULT hres;
- IHTMLFrameBase2 *base;
IHTMLDocument2 *result = NULL;
+ IHTMLWindow2 *window;
+ HRESULT hres;
- hres = IHTMLIFrameElement_QueryInterface(iframe, &IID_IHTMLFrameBase2, (void**)&base);
- ok(hres == S_OK, "QueryInterface(IID_IHTMLFrameBase2) failed: %08x\n", hres);
- if(hres == S_OK) {
- IHTMLWindow2 *window;
+ window = get_iframe_window(iframe);
- hres = IHTMLFrameBase2_get_contentWindow(base, &window);
- ok(hres == S_OK, "get_contentWindow failed: %08x\n", hres);
- ok(window != NULL, "window == NULL\n");
- if(window) {
- hres = IHTMLWindow2_get_document(window, &result);
- ok(hres == S_OK, "get_document failed: %08x\n", hres);
- ok(result != NULL, "result == NULL\n");
- IHTMLWindow2_Release(window);
- }
- }
- if(base) IHTMLFrameBase2_Release(base);
+ hres = IHTMLWindow2_get_document(window, &result);
+ ok(hres == S_OK, "get_document failed: %08x\n", hres);
+ ok(result != NULL, "result == NULL\n");
+ IHTMLWindow2_Release(window);
return result;
}
@@ -2263,7 +2252,7 @@ static void test_iframe_connections(IHTMLDocument2 *doc)
trace("iframe tests...\n");
- element = find_element_by_id(doc, "ifr");
+ element = get_elem_id(doc, "ifr");
iframe = get_iframe_iface((IUnknown*)element);
IHTMLElement_Release(element);
More information about the wine-cvs
mailing list