Jacek Caban : mshtml: Added IHTMLAnchorElement::get_href tests.
Alexandre Julliard
julliard at winehq.org
Fri Oct 2 11:02:24 CDT 2009
Module: wine
Branch: master
Commit: d3a3af755b59e14e188776f899073ec00aac1ba7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d3a3af755b59e14e188776f899073ec00aac1ba7
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Oct 2 13:53:17 2009 +0200
mshtml: Added IHTMLAnchorElement::get_href 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 b8a7e8a..862d281 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -42,7 +42,7 @@ static const char range_test2_str[] =
static const char elem_test_str[] =
"<html><head><title>test</title><style>.body { margin-right: 0px; }</style>"
"<body onload=\"Testing()\">text test<!-- a comment -->"
- "<a href=\"http://test\" name=\"x\">link</a>"
+ "<a id=\"a\" href=\"http://test\" name=\"x\">link</a>"
"<input id=\"in\" class=\"testclass\" tabIndex=\"2\" title=\"test title\" />"
"<select id=\"s\"><option id=\"x\" value=\"val1\">opt1</option><option id=\"y\">opt2</option></select>"
"<textarea id=\"X\">text text</textarea>"
@@ -610,6 +610,17 @@ static IHTMLImgElement *_get_img_iface(unsigned line, IUnknown *unk)
return img;
}
+#define get_anchor_iface(u) _get_anchor_iface(__LINE__,u)
+static IHTMLAnchorElement *_get_anchor_iface(unsigned line, IUnknown *unk)
+{
+ IHTMLAnchorElement *anchor;
+ HRESULT hres;
+
+ hres = IUnknown_QueryInterface(unk, &IID_IHTMLAnchorElement, (void**)&anchor);
+ ok_(__FILE__,line) (hres == S_OK, "Could not get IHTMLAnchorElement: %08x\n", hres);
+ return anchor;
+}
+
#define test_node_name(u,n) _test_node_name(__LINE__,u,n)
static void _test_node_name(unsigned line, IUnknown *unk, const char *exname)
{
@@ -898,6 +909,21 @@ static IHTMLElement *_get_doc_elem(unsigned line, IHTMLDocument2 *doc)
return elem;
}
+#define test_anchor_href(a,h) _test_anchor_href(__LINE__,a,h)
+static void _test_anchor_href(unsigned line, IUnknown *unk, const char *exhref)
+{
+ IHTMLAnchorElement *anchor = _get_anchor_iface(line, unk);
+ BSTR str;
+ HRESULT hres;
+
+ hres = IHTMLAnchorElement_get_href(anchor, &str);
+ ok_(__FILE__,line)(hres == S_OK, "get_href failed: %08x\n", hres);
+ ok_(__FILE__,line)(!strcmp_wa(str, exhref), "href = %s, expected %s\n", wine_dbgstr_w(str), exhref);
+ SysFreeString(str);
+
+ _test_disp_value(line, unk, exhref);
+}
+
#define test_option_text(o,t) _test_option_text(__LINE__,o,t)
static void _test_option_text(unsigned line, IHTMLOptionElement *option, const char *text)
{
@@ -4932,6 +4958,12 @@ static void test_elems(IHTMLDocument2 *doc)
IHTMLElement_Release(elem);
}
+ elem = get_elem_by_id(doc, "a", TRUE);
+ if(elem) {
+ test_anchor_href((IUnknown*)elem, "http://test/");
+ IHTMLElement_Release(elem);
+ }
+
hres = IHTMLDocument2_get_body(doc, &elem);
ok(hres == S_OK, "get_body failed: %08x\n", hres);
More information about the wine-cvs
mailing list