[PATCH 2/2] mshtml: Also search by node name attribute in IHTMLDocument3::getElementById

Jacek Caban jacek at codeweavers.com
Fri Nov 20 16:34:13 CST 2009


Hi Andrew,

Andrew Eikum wrote:
> ---
>  dlls/mshtml/htmldoc3.c  |   58 
> +++++++++++++++++++++++++++++++++++++++++++---
>  dlls/mshtml/nsiface.idl |   33 ++++++++++++++++++++++++++
>  dlls/mshtml/tests/dom.c |   29 ++++++++++++++++++++++-
>  3 files changed, 115 insertions(+), 5 deletions(-)

 [
     object,
+    uuid(29fb2a18-1dd2-11b2-8dd9-a6fd5d5ad12f),
+    local
+    /* FROZEN */
+]

This interface is not frozen, please change the comment to NOT_FROZEN so that I we will know that we have to check it for changes on the next Gecko update.

+    hres = IHTMLElement_get_tagName(elem2, &str);
+    ok(hres == S_OK, "IHTMLElement_get_tagName failed: 0x%08x\n", hres);
+    ok(!strcmp_wa(str, "A"), "Got wrong tag: %s\n", wine_dbgstr_w(str));
+    SysFreeString(str);


There is generic test_elem_tag that is meant for this.

+    /* getElementById with node name attributes */
+    hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (void**)&doc3);
+    ok(hres == S_OK, "Unable to get IHTMLDocument3: 0x%08x\n", hres);
+    if(FAILED(hres))
+        return;
+    bstr = a2bstr("nm1");
+    hres = IHTMLDocument3_getElementById(doc3, bstr, &elem);
+    SysFreeString(bstr);
+    IHTMLDocument3_Release(doc3);
+    ok(hres == S_OK, "getElementById failed: 0x%08x\n", hres);
+    if(FAILED(hres))
+        return;

Same here for get_doc_elem_by_id.

+
+    hres = IHTMLElement_get_id(elem, &bstr);
+    ok(hres == S_OK, "IHTMLElement_get_id failed: 0x%08x\n", hres);
+    ok(!strcmp_wa(bstr, "fr1"), "Found ID should have been \"fr1\", was: %s", wine_dbgstr_w(bstr));
+    SysFreeString(bstr);

Same here for test_elem_id.



Thanks,
	Jacek




More information about the wine-devel mailing list