Jacek Caban : mshtml: Added IHTMLElement2::getElementsByTagName tests.
Alexandre Julliard
julliard at winehq.org
Mon Jul 14 05:56:54 CDT 2008
Module: wine
Branch: master
Commit: 1c1f8e206f62ff8f54f3a2a5f3f67d4c8d813072
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1c1f8e206f62ff8f54f3a2a5f3f67d4c8d813072
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jul 11 23:45:22 2008 +0200
mshtml: Added IHTMLElement2::getElementsByTagName tests.
---
dlls/mshtml/tests/dom.c | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 4540ed4..2c25870 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -841,7 +841,7 @@ static void _test_elem_collection(unsigned line, IUnknown *unk,
HRESULT hres;
hres = IUnknown_QueryInterface(unk, &IID_IHTMLElementCollection, (void**)&col);
- ok(hres == S_OK, "Could not get IHTMLElementCollection: %08x\n", hres);
+ ok_(__FILE__,line) (hres == S_OK, "Could not get IHTMLElementCollection: %08x\n", hres);
test_disp((IUnknown*)col, &DIID_DispHTMLElementCollection);
@@ -883,6 +883,34 @@ static void _test_elem_collection(unsigned line, IUnknown *unk,
IHTMLElementCollection_Release(col);
}
+#define test_elem_getelembytag(u,t,l) _test_elem_getelembytag(__LINE__,u,t,l)
+static void _test_elem_getelembytag(unsigned line, IUnknown *unk, elem_type_t type, long exlen)
+{
+ IHTMLElement2 *elem = _get_elem2_iface(line, unk);
+ IHTMLElementCollection *col = NULL;
+ elem_type_t *types = NULL;
+ BSTR tmp;
+ int i;
+ HRESULT hres;
+
+ tmp = a2bstr(elem_type_infos[type].tag);
+ hres = IHTMLElement2_getElementsByTagName(elem, tmp, &col);
+ SysFreeString(tmp);
+ IHTMLElement2_Release(elem);
+ ok_(__FILE__,line) (hres == S_OK, "getElementByTagName failed: %08x\n", hres);
+ ok_(__FILE__,line) (col != NULL, "col == NULL\n");
+
+ if(exlen) {
+ types = HeapAlloc(GetProcessHeap(), 0, exlen*sizeof(elem_type_t));
+ for(i=0; i<exlen; i++)
+ types[i] = type;
+ }
+
+ _test_elem_collection(line, (IUnknown*)col, types, exlen);
+
+ HeapFree(GetProcessHeap(), 0, types);
+}
+
#define get_first_child(n) _get_first_child(__LINE__,n)
static IHTMLDOMNode *_get_first_child(unsigned line, IUnknown *unk)
{
@@ -2146,6 +2174,10 @@ static void test_elems(IHTMLDocument2 *doc)
IHTMLDOMNode_Release(node);
ok(node2 == NULL, "node != NULL\n");
+ test_elem_getelembytag((IUnknown*)elem, ET_OPTION, 2);
+ test_elem_getelembytag((IUnknown*)elem, ET_SELECT, 0);
+ test_elem_getelembytag((IUnknown*)elem, ET_HTML, 0);
+
IHTMLElement_Release(elem);
}
More information about the wine-cvs
mailing list