mshtml: Forward IHTMLCommentElement::get_text to IHTMLElement::get_outerHTML.

oldstable
Jacek Caban 2010-02-09 19:35:20 +01:00 committed by Alexandre Julliard
parent b9d07c5ae5
commit d0f7785e04
2 changed files with 48 additions and 2 deletions

View File

@ -103,8 +103,10 @@ static HRESULT WINAPI HTMLCommentElement_put_text(IHTMLCommentElement *iface, BS
static HRESULT WINAPI HTMLCommentElement_get_text(IHTMLCommentElement *iface, BSTR *p)
{
HTMLCommentElement *This = HTMLCOMMENT_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
TRACE("(%p)->(%p)\n", This, p);
return IHTMLElement_get_outerHTML(HTMLELEM(&This->element), p);
}
static HRESULT WINAPI HTMLCommentElement_put_atomic(IHTMLCommentElement *iface, LONG v)

View File

@ -684,6 +684,17 @@ static IHTMLDOMTextNode *_get_text_iface(unsigned line, IUnknown *unk)
return text;
}
#define get_comment_iface(u) _get_comment_iface(__LINE__,u)
static IHTMLCommentElement *_get_comment_iface(unsigned line, IUnknown *unk)
{
IHTMLCommentElement *comment;
HRESULT hres;
hres = IUnknown_QueryInterface(unk, &IID_IHTMLCommentElement, (void**)&comment);
ok_(__FILE__,line) (hres == S_OK, "Could not get IHTMLCommentElement: %08x\n", hres);
return comment;
}
#define test_node_name(u,n) _test_node_name(__LINE__,u,n)
static void _test_node_name(unsigned line, IUnknown *unk, const char *exname)
{
@ -1102,6 +1113,22 @@ static void _test_option_put_value(unsigned line, IHTMLOptionElement *option, co
_test_option_value(line, option, value);
}
#define test_comment_text(c,t) _test_comment_text(__LINE__,c,t)
static void _test_comment_text(unsigned line, IUnknown *unk, const char *extext)
{
IHTMLCommentElement *comment = _get_comment_iface(__LINE__,unk);
BSTR text;
HRESULT hres;
text = a2bstr(extext);
hres = IHTMLCommentElement_get_text(comment, &text);
ok_(__FILE__,line)(hres == S_OK, "get_text failed: %08x\n", hres);
ok_(__FILE__,line)(!strcmp_wa(text, extext), "text = \"%s\", expected \"%s\"\n", wine_dbgstr_w(text), extext);
IHTMLCommentElement_Release(comment);
SysFreeString(text);
}
#define create_option_elem(d,t,v) _create_option_elem(__LINE__,d,t,v)
static IHTMLOptionElement *_create_option_elem(unsigned line, IHTMLDocument2 *doc,
const char *txt, const char *val)
@ -1654,6 +1681,21 @@ static void _test_elem_set_outerhtml(unsigned line, IUnknown *unk, const char *o
SysFreeString(html);
}
#define test_elem_outerhtml(e,t) _test_elem_outerhtml(__LINE__,e,t)
static void _test_elem_outerhtml(unsigned line, IUnknown *unk, const char *outer_html)
{
IHTMLElement *elem = _get_elem_iface(line, unk);
BSTR html;
HRESULT hres;
hres = IHTMLElement_get_outerHTML(elem, &html);
ok_(__FILE__,line)(hres == S_OK, "get_outerHTML failed: %08x\n", hres);
ok_(__FILE__,line)(!strcmp_wa(html, outer_html), "outerHTML = '%s', expected '%s'\n", wine_dbgstr_w(html), outer_html);
IHTMLElement_Release(elem);
SysFreeString(html);
}
#define get_first_child(n) _get_first_child(__LINE__,n)
static IHTMLDOMNode *_get_first_child(unsigned line, IUnknown *unk)
{
@ -5911,6 +5953,8 @@ static void test_create_elems(IHTMLDocument2 *doc)
test_elem_title((IUnknown*)comment, NULL);
test_elem_set_title((IUnknown*)comment, "comment title");
test_elem_title((IUnknown*)comment, "comment title");
test_comment_text((IUnknown*)comment, "<!--testing-->");
test_elem_outerhtml((IUnknown*)comment, "<!--testing-->");
IHTMLDOMNode_Release(comment);
}