27static const char doc_str1[] =
"<html><body>test</body></html>";
29 "<html><body>test \na<font size=\"2\">bc\t123<br /> it's\r\n \t</font>text<br /></body></html>";
31 "<html><body>abc<hr />123<br /><hr />def</body></html>";
33 "<html><head><title>test</title><style id=\"styleid\">.body { margin-right: 0px; }</style>"
34 "<meta id=\"metaid\" name=\"meta name\" http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"
35 "<link id=\"linkid\"></head>"
36 "<body onload=\"Testing()\">text test<!-- a comment -->"
37 "<a id=\"a\" href=\"http://test\" name=\"x\">link</a>"
38 "<label for=\"in\" id=\"labelid\">Label:</label>"
39 "<input id=\"in\" class=\"testclass\" tabIndex=\"2\" title=\"test title\" />"
40 "<button id=\"btnid\"></button>"
41 "<select id=\"s\"><option id=\"x\" value=\"val1\">opt1</option><option id=\"y\">opt2</option></select>"
42 "<textarea id=\"X\">text text</textarea>"
43 "<table id=\"tbl\"><tbody><tr></tr><tr id=\"row2\"><td id=\"td1\">td1 text</td><td id=\"td2\">td2 text</td></tr></tbody></table>"
44 "<script id=\"sc\" type=\"text/javascript\"><!--\nfunction Testing() {}\n// -->\n</script>"
45 "<test /><object id=\"objid\" name=\"objname\" vspace=100></object><embed />"
46 "<img id=\"imgid\" name=\"WineImg\"/>"
47 "<iframe src=\"about:blank\" id=\"ifr\"></iframe>"
48 "<form id=\"frm\"></form>"
49 "<div id=\"attr\" attr1=\"attr1\" attr2 attr3=\"attr3\"></div>"
52 "<html><head><title>test</title><style>.body { margin-right: 0px; }</style>"
53 "<link id=\"linkid\" rel=\"stylesheet\" href=\"about:blank\" type=\"text/css\"></head>"
54 "<body><div id=\"divid\" emptyattr=\"\" onclick=\"parseInt();\"></div></body>"
58 "<html><head><title>test</title></head><body>abc<br /><a href=\"about:blank\">123</a></body></html>";
60 "<html><head><title>test</title></head><body>"
61 "<!--[if gte IE 4]> <br> <![endif]-->"
64 "<html><head><title>frameset test</title></head><frameset rows=\"25, 25, *\">"
65 "<frame src=\"about:blank\" name=\"nm1\" id=\"fr1\"><frame src=\"about:blank\" name=\"nm2\" id=\"fr2\">"
66 "<frame src=\"about:blank\" id=\"fr3\">"
69 "<html><head><title>emptydiv test</title></head>"
70 "<body><div id=\"divid\"></div></body></html>";
72 "<html><head><title>noscript test</title><noscript><style>.body { margin-right: 0px; }</style></noscript></head>"
73 "<body><noscript><div>test</div></noscript></body></html>";
76 "<html><head><title>emptydiv test</title></head>"
77 "<body><div id=\"divid\"></div></body></html>";
135 &IID_IInternetHostSecurityManager,
154 &IID_ITargetContainer,
160 &IID_IHTMLDOMNode2, \
162 &IID_IHTMLElement2, \
163 &IID_IHTMLElement3, \
164 &IID_IHTMLElement4, \
175 &IID_IHTMLTextContainer,
176 &IID_IHTMLBodyElement,
183 &IID_IHTMLAnchorElement,
190 &IID_IHTMLInputElement,
191 &IID_IHTMLInputTextElement,
198 &IID_IHTMLButtonElement,
205 &IID_IHTMLLabelElement,
212 &IID_IHTMLSelectElement,
219 &IID_IHTMLTextAreaElement,
226 &IID_IHTMLOptionElement,
242 &IID_IHTMLScriptElement,
250 &IID_IHTMLDOMTextNode,
251 &IID_IHTMLDOMTextNode2,
256 &IID_IHTMLDOMAttribute,
257 &IID_IHTMLDOMAttribute2,
273 &IID_IServiceProvider,
279 &IID_IHTMLCommentElement,
286 &IID_IHTMLImgElement,
308 &IID_IHTMLFrameBase2,
315 &IID_IHTMLHeadElement,
322 &IID_IHTMLTitleElement,
329 &IID_IHTMLMetaElement,
336 &IID_IHTMLLinkElement,
343 &IID_IHTMLObjectElement,
344 &IID_IHTMLObjectElement2,
351 &IID_IHTMLEmbedElement,
359 &IID_IHTMLFrameBase2,
360 &IID_IHTMLIFrameElement,
361 &IID_IHTMLIFrameElement2,
368 &IID_IHTMLFormElement,
370 &DIID_DispHTMLFormElement,
376 &IID_IHTMLStyleElement,
383 &IID_IHTMLGenericElement,
403 &IID_IHTMLCurrentStyle,
404 &IID_IHTMLCurrentStyle2,
405 &IID_IHTMLCurrentStyle3,
413 &IID_IHTMLImageElementFactory,
421 &IID_IHTMLSelectionObject,
422 &IID_IHTMLSelectionObject2,
435 {
"HEAD",
head_iids, &DIID_DispHTMLHeadElement},
436 {
"TITLE",
title_iids, &DIID_DispHTMLTitleElement},
439 {
"INPUT",
input_iids, &DIID_DispHTMLInputElement},
440 {
"SELECT",
select_iids, &DIID_DispHTMLSelectElement},
442 {
"OPTION",
option_iids, &DIID_DispHTMLOptionElement},
449 {
"SCRIPT",
script_iids, &DIID_DispHTMLScriptElement},
450 {
"TEST",
elem_iids, &DIID_DispHTMLUnknownElement},
453 {
"IMG",
img_iids, &DIID_DispHTMLImg},
454 {
"TR",
tr_iids, &DIID_DispHTMLTableRow},
455 {
"TD",
td_iids, &DIID_DispHTMLTableCell},
457 {
"FORM",
form_iids, &DIID_DispHTMLFormElement},
458 {
"FRAME",
frame_iids, &DIID_DispHTMLFrameElement},
459 {
"OBJECT",
object_iids, &DIID_DispHTMLObjectElement},
462 {
"META",
meta_iids, &DIID_DispHTMLMetaElement},
464 {
"LINK",
link_iids, &DIID_DispHTMLLinkElement},
465 {
"LABEL",
label_iids, &DIID_DispHTMLLabelElement},
466 {
"BUTTON",
button_iids, &DIID_DispHTMLButtonElement}
507 static char buf[400];
541 IUnknown_Release(
unk1);
542 IUnknown_QueryInterface(iface2, &
IID_IUnknown, (
void**)&unk2);
543 IUnknown_Release(unk2);
551 IHTMLDocument5 *doc5;
555 &IID_IHTMLDocument2, (
void**)&doc);
560 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument5, (
void**)&doc5);
562 win_skip(
"Could not get IHTMLDocument5, probably too old IE\n");
563 IHTMLDocument2_Release(doc);
567 IHTMLDocument5_Release(doc5);
571#define get_dispex_iface(u) _get_dispex_iface(__LINE__,u)
577 hres = IUnknown_QueryInterface(unk, &IID_IDispatchEx, (
void**)&dispex);
582#define test_ifaces(i,ids) _test_ifaces(__LINE__,i,ids)
585 const IID *
const *piid;
589 for(piid = iids; *piid; piid++) {
590 hres = IUnknown_QueryInterface(iface, *piid, (
void**)&unk);
593 IUnknown_Release(unk);
597#define test_no_iface(a,b) _test_no_iface(__LINE__,a,b)
603 unk = (
void*)0xdeadbeef;
604 hres = IUnknown_QueryInterface(iface, iid, (
void**)&unk);
606 ok_(__FILE__,
line)(!unk,
"unk = %p\n", unk);
609#define test_get_dispid(u,id) _test_get_dispid(__LINE__,u,id)
619 hres = IDispatchEx_GetTypeInfoCount(dispex, &ticnt);
621 ok_(__FILE__,
line) (ticnt == 1,
"ticnt=%u\n", ticnt);
623 hres = IDispatchEx_GetTypeInfo(dispex, 0, 0, &
typeinfo);
632 *iid = type_attr->guid;
636 ITypeInfo_ReleaseTypeAttr(
typeinfo, type_attr);
640 IDispatchEx_Release(dispex);
644#define test_disp_value(u) _test_disp_value(__LINE__,u,v)
654 IDispatchEx_Release(dispex);
662#define test_disp(u,id,v) _test_disp(__LINE__,u,id,v)
674#define test_disp2(u,id,id2,v) _test_disp2(__LINE__,u,id,id2,v)
687#define test_class_info(u) _test_class_info(__LINE__,u)
696 ok_(__FILE__,
line)(
hres ==
S_OK,
"Could not get IProvideClassInfo interface: %08x\n",
hres);
715 "unexpected typekind %d\n", type_attr->typekind);
716 ITypeInfo_ReleaseTypeAttr(
typeinfo, type_attr);
723#define set_dispex_value(a,b,c) _set_dispex_value(__LINE__,a,b,c)
727 DISPPARAMS dp = {
val,
NULL, 1, 0};
734 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameEnsure|fdexNameCaseInsensitive, &
id);
738 memset(&ei, 0,
sizeof(ei));
744#define get_elem_iface(u) _get_elem_iface(__LINE__,u)
750 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement, (
void**)&
elem);
755#define get_elem2_iface(u) _get_elem2_iface(__LINE__,u)
761 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement2, (
void**)&
elem);
766#define get_elem3_iface(u) _get_elem3_iface(__LINE__,u)
772 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement3, (
void**)&
elem);
777#define get_elem4_iface(u) _get_elem4_iface(__LINE__,u)
783 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElement4, (
void**)&
elem);
788#define get_doc3_iface(u) _get_doc3_iface(__LINE__,u)
791 IHTMLDocument3 *doc3;
794 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
800#define get_node_iface(u) _get_node_iface(__LINE__,u)
806 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode, (
void**)&
node);
811#define get_node2_iface(u) _get_node2_iface(__LINE__,u)
817 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode2, (
void**)&
node);
822#define get_htmldoc5_iface(u) _get_htmldoc5_iface(__LINE__,u)
828 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDocument5, (
void**)&doc);
833#define get_img_iface(u) _get_img_iface(__LINE__,u)
836 IHTMLImgElement *
img;
839 hres = IUnknown_QueryInterface(unk, &IID_IHTMLImgElement, (
void**)&
img);
844#define get_anchor_iface(u) _get_anchor_iface(__LINE__,u)
847 IHTMLAnchorElement *anchor;
850 hres = IUnknown_QueryInterface(unk, &IID_IHTMLAnchorElement, (
void**)&anchor);
855#define get_textarea_iface(u) _get_textarea_iface(__LINE__,u)
858 IHTMLTextAreaElement *textarea;
861 hres = IUnknown_QueryInterface(unk, &IID_IHTMLTextAreaElement, (
void**)&textarea);
866#define get_select_iface(u) _get_select_iface(__LINE__,u)
869 IHTMLSelectElement *
select;
872 hres = IUnknown_QueryInterface(unk, &IID_IHTMLSelectElement, (
void**)&
select);
877#define get_option_iface(u) _get_option_iface(__LINE__,u)
880 IHTMLOptionElement *
option;
883 hres = IUnknown_QueryInterface(unk, &IID_IHTMLOptionElement, (
void**)&
option);
888#define get_form_iface(u) _get_form_iface(__LINE__,u)
891 IHTMLFormElement *
form;
894 hres = IUnknown_QueryInterface(unk, &IID_IHTMLFormElement, (
void**)&
form);
899#define get_text_iface(u) _get_text_iface(__LINE__,u)
902 IHTMLDOMTextNode *
text;
905 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMTextNode, (
void**)&
text);
910#define get_text2_iface(u) _get_text2_iface(__LINE__,u)
913 IHTMLDOMTextNode2 *text2;
916 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMTextNode2, (
void**)&text2);
921#define get_comment_iface(u) _get_comment_iface(__LINE__,u)
927 hres = IUnknown_QueryInterface(unk, &IID_IHTMLCommentElement, (
void**)&
comment);
932#define get_object_iface(u) _get_object_iface(__LINE__,u)
935 IHTMLObjectElement *
obj;
938 hres = IUnknown_QueryInterface(unk, &IID_IHTMLObjectElement, (
void**)&
obj);
943#define get_style_iface(u) _get_style_iface(__LINE__,u)
946 IHTMLStyleElement *
obj;
949 hres = IUnknown_QueryInterface(unk, &IID_IHTMLStyleElement, (
void**)&
obj);
954#define get_metaelem_iface(u) _get_metaelem_iface(__LINE__,u)
957 IHTMLMetaElement *
ret;
960 hres = IUnknown_QueryInterface(unk, &IID_IHTMLMetaElement, (
void**)&
ret);
965#define get_link_iface(u) _get_link_iface(__LINE__,u)
968 IHTMLLinkElement *
ret;
971 hres = IUnknown_QueryInterface(unk, &IID_IHTMLLinkElement, (
void**)&
ret);
976#define get_iframe2_iface(u) _get_iframe2_iface(__LINE__,u)
979 IHTMLIFrameElement2 *
ret;
982 hres = IUnknown_QueryInterface(unk, &IID_IHTMLIFrameElement2, (
void**)&
ret);
987#define get_button_iface(u) _get_button_iface(__LINE__,u)
990 IHTMLButtonElement *
ret;
993 hres = IUnknown_QueryInterface(unk, &IID_IHTMLButtonElement, (
void**)&
ret);
998#define get_label_iface(u) _get_label_iface(__LINE__,u)
1001 IHTMLLabelElement *
ret;
1004 hres = IUnknown_QueryInterface(unk, &IID_IHTMLLabelElement, (
void**)&
ret);
1009#define get_attr2_iface(u) _get_attr2_iface(__LINE__,u)
1012 IHTMLDOMAttribute2 *
ret;
1015 hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMAttribute2, (
void**)&
ret);
1020#define test_node_name(u,n) _test_node_name(__LINE__,u,n)
1028 IHTMLDOMNode_Release(
node);
1035#define get_owner_doc(u) _get_owner_doc(__LINE__,u)
1040 IHTMLDocument2 *doc =
NULL;
1043 hres = IHTMLDOMNode2_get_ownerDocument(
node, &disp);
1044 IHTMLDOMNode2_Release(
node);
1048 hres = IDispatch_QueryInterface(disp, &IID_IHTMLDocument2, (
void**)&doc);
1049 IDispatch_Release(disp);
1056#define get_doc_window(d) _get_doc_window(__LINE__,d)
1063 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
1070#define clone_node(n,d) _clone_node(__LINE__,n,d)
1078 IHTMLDOMNode_Release(
node);
1086#define test_elem_tag(u,n) _test_elem_tag(__LINE__,u,n)
1094 IHTMLElement_Release(
elem);
1101#define test_elem_type(ifc,t) _test_elem_type(__LINE__,ifc,t)
1111#define get_node_type(n) _get_node_type(__LINE__,n)
1121 IHTMLDOMNode_Release(
node);
1126#define get_child_nodes(u) _get_child_nodes(__LINE__,u)
1130 IHTMLDOMChildrenCollection *col =
NULL;
1134 hres = IHTMLDOMNode_get_childNodes(
node, &disp);
1135 IHTMLDOMNode_Release(
node);
1140 hres = IDispatch_QueryInterface(disp, &IID_IHTMLDOMChildrenCollection, (
void**)&col);
1141 IDispatch_Release(disp);
1142 ok_(__FILE__,
line) (
hres ==
S_OK,
"Could not get IHTMLDOMChildrenCollection: %08x\n",
hres);
1147#define get_child_item(c,i) _get_child_item(__LINE__,c,i)
1154 hres = IHTMLDOMChildrenCollection_item(col,
idx, &disp);
1158 IDispatch_Release(disp);
1163#define test_elem_attr(e,n,v) _test_elem_attr(__LINE__,e,n,v)
1187#define test_elem_offset(a,b) _test_elem_offset(__LINE__,a,b)
1191 IHTMLElement *off_parent;
1195 hres = IHTMLElement_get_offsetTop(
elem, &
l);
1198 hres = IHTMLElement_get_offsetHeight(
elem, &
l);
1201 hres = IHTMLElement_get_offsetWidth(
elem, &
l);
1204 hres = IHTMLElement_get_offsetLeft(
elem, &
l);
1207 hres = IHTMLElement_get_offsetParent(
elem, &off_parent);
1211 IHTMLElement_Release(off_parent);
1213 IHTMLElement_Release(
elem);
1216#define test_elem_source_index(a,b) _test_elem_source_index(__LINE__,a,b)
1219 LONG l = 0xdeadbeef;
1222 hres = IHTMLElement_get_sourceIndex(
elem, &
l);
1227#define get_doc_node(d) _get_doc_node(__LINE__,d)
1231 IHTMLDocument2 *
ret;
1234 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
1244#define test_window_name(d,e) _test_window_name(__LINE__,d,e)
1259#define set_window_name(w,n) _set_window_name(__LINE__,w,n)
1273#define test_window_status(d) _test_window_status(__LINE__,d)
1279 status = (
void*)0xdeadbeef;
1286#define set_window_status(w,n) _set_window_status(__LINE__,w,n)
1298#define test_window_length(w,l) _test_window_length(__LINE__,w,l)
1309#define get_frame_content_window(e) _get_frame_content_window(__LINE__,e)
1312 IHTMLFrameBase2 *base2;
1316 hres = IUnknown_QueryInterface(
elem, &IID_IHTMLFrameBase2, (
void**)&base2);
1317 ok(
hres ==
S_OK,
"Could not get IHTMFrameBase2 iface: %08x\n",
hres);
1320 hres = IHTMLFrameBase2_get_contentWindow(base2, &
window);
1321 IHTMLFrameBase2_Release(base2);
1331 IHTMLDocument3 *doc3;
1337 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
1338 ok(
hres ==
S_OK,
"QueryInterface(IID_IHTMLDocument3) failed: %08x\n",
hres);
1340 hres = IHTMLDocument3_get_documentElement(doc3, &
elem);
1341 IHTMLDocument3_Release(doc3);
1345 bstr =
a2bstr(
"notAnAttribute");
1346 hres = IHTMLElement_getAttribute(
elem, bstr, 0, &
val);
1353 bstr =
a2bstr(
"scrollHeight");
1354 hres = IHTMLElement_getAttribute(
elem, bstr, 0, &
val);
1361 bstr =
a2bstr(
"newAttribute");
1365 hres = IHTMLElement_setAttribute(
elem, bstr,
val, 0);
1369 hres = IHTMLElement_getAttribute(
elem, bstr, 0, &
val);
1378 hres = IHTMLElement_setAttribute(
elem, bstr,
val, 0);
1382 hres = IHTMLElement_getAttribute(
elem, bstr, 0, &
val);
1385 ok(
V_BOOL(&
val) == VARIANT_TRUE,
"variant value should have been VARIANT_TRUE (0x%x), was %d\n", VARIANT_TRUE,
V_BOOL(&
val));
1391 bstr =
a2bstr(
"newattribute");
1392 hres = IHTMLElement_getAttribute(
elem, bstr, 0, &
val);
1395 ok(
V_BOOL(&
val) == VARIANT_TRUE,
"variant value should have been VARIANT_TRUE (0x%x), was %d\n", VARIANT_TRUE,
V_BOOL(&
val));
1399 IHTMLElement_Release(
elem);
1402#define get_doc_elem(d) _get_doc_elem(__LINE__,d)
1406 IHTMLDocument3 *doc3;
1409 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
1410 ok_(__FILE__,
line) (
hres ==
S_OK,
"Could not get IHTMLDocument3 interface: %08x\n",
hres);
1411 hres = IHTMLDocument3_get_documentElement(doc3, &
elem);
1413 IHTMLDocument3_Release(doc3);
1418#define test_anchor_href(a,h) _test_anchor_href(__LINE__,a,h)
1425 hres = IHTMLAnchorElement_get_href(anchor, &
str);
1433#define test_anchor_put_href(a,h) _test_anchor_put_href(__LINE__,a,h)
1441 hres = IHTMLAnchorElement_put_href(anchor,
str);
1448#define test_anchor_rel(a,h) _test_anchor_rel(__LINE__,a,h)
1455 hres = IHTMLAnchorElement_get_rel(anchor, &
str);
1464#define test_anchor_put_rel(a,h) _test_anchor_put_rel(__LINE__,a,h)
1472 hres = IHTMLAnchorElement_put_rel(anchor,
str);
1477#define test_anchor_get_target(a,h) _test_anchor_get_target(__LINE__,a,h)
1484 hres = IHTMLAnchorElement_get_target(anchor, &
str);
1493#define test_anchor_put_target(a,h) _test_anchor_put_target(__LINE__,a,h)
1501 hres = IHTMLAnchorElement_put_target(anchor,
str);
1506#define test_anchor_name(a,h) _test_anchor_name(__LINE__,a,h)
1513 hres = IHTMLAnchorElement_get_name(anchor, &
str);
1522#define test_anchor_put_name(a,h) _test_anchor_put_name(__LINE__,a,h)
1530 hres = IHTMLAnchorElement_put_name(anchor,
str);
1537#define test_anchor_hostname(a,h) _test_anchor_hostname(__LINE__,a,h)
1544 hres = IHTMLAnchorElement_get_hostname(anchor, &
str);
1553#define test_anchor_search(a,h,n) _test_anchor_search(__LINE__,a,h,n)
1560 hres = IHTMLAnchorElement_get_search(anchor, &
str);
1562 if ( !
str && allowbroken)
1563 win_skip(
"skip ie6 incorrect behavior\n");
1571#define test_anchor_put_search(a,h) _test_anchor_put_search(__LINE__,a,h)
1579 hres = IHTMLAnchorElement_put_search(anchor,
str);
1584#define test_anchor_hash(a,h) _test_anchor_hash(__LINE__,a,h)
1591 hres = IHTMLAnchorElement_get_hash(anchor, &
str);
1600#define test_option_text(o,t) _test_option_text(__LINE__,o,t)
1606 hres = IHTMLOptionElement_get_text(
option, &bstr);
1612#define test_option_put_text(o,t) _test_option_put_text(__LINE__,o,t)
1619 hres = IHTMLOptionElement_put_text(
option, bstr);
1626#define test_option_value(o,t) _test_option_value(__LINE__,o,t)
1632 hres = IHTMLOptionElement_get_value(
option, &bstr);
1638#define test_option_put_value(o,t) _test_option_put_value(__LINE__,o,t)
1645 hres = IHTMLOptionElement_put_value(
option, bstr);
1652#define test_option_selected(o,s) _test_option_selected(__LINE__,o,s)
1658 hres = IHTMLOptionElement_get_selected(
option, &
b);
1660 ok_(__FILE__,
line)(
b ==
ex,
"selected = %x, expected %x\n",
b,
ex);
1663#define test_option_put_selected(o,s) _test_option_put_selected(__LINE__,o,s)
1668 hres = IHTMLOptionElement_put_selected(
option,
b);
1673#define test_option_get_index(o,s) _test_option_get_index(__LINE__,o,s)
1686 "value = %d, expected = %d\n",
val, exval);
1689#define test_option_put_defaultSelected(o,d) _test_option_put_defaultSelected(__LINE__,o,d)
1694 hres = IHTMLOptionElement_put_defaultSelected(
option,
b);
1698#define test_option_defaultSelected(o,e) _test_option_defaultSelected(__LINE__,o,e)
1708 hres = IHTMLOptionElement_get_defaultSelected(
option, &
b);
1710 ok_(__FILE__,
line)(
b ==
ex,
"b = %x, expected = %x\n",
b,
ex);
1743#define test_textarea_value(t,v) _test_textarea_value(__LINE__,t,v)
1750 hres = IHTMLTextAreaElement_get_value(textarea, &
value);
1751 IHTMLTextAreaElement_Release(textarea);
1760#define test_textarea_put_value(t,v) _test_textarea_put_value(__LINE__,t,v)
1767 hres = IHTMLTextAreaElement_put_value(textarea, tmp);
1768 IHTMLTextAreaElement_Release(textarea);
1775#define test_textarea_defaultvalue(t,v) _test_textarea_defaultvalue(__LINE__,t,v)
1782 hres = IHTMLTextAreaElement_get_defaultValue(textarea, &
value);
1783 IHTMLTextAreaElement_Release(textarea);
1792#define test_textarea_put_defaultvalue(t,v) _test_textarea_put_defaultvalue(__LINE__,t,v)
1799 hres = IHTMLTextAreaElement_put_defaultValue(textarea, tmp);
1800 IHTMLTextAreaElement_Release(textarea);
1807#define test_textarea_readonly(t,v) _test_textarea_readonly(__LINE__,t,v)
1814 hres = IHTMLTextAreaElement_get_readOnly(textarea, &
b);
1815 IHTMLTextAreaElement_Release(textarea);
1817 ok_(__FILE__,
line)(
b ==
ex,
"readOnly = %x, expected %x\n",
b,
ex);
1820#define test_textarea_put_readonly(t,v) _test_textarea_put_readonly(__LINE__,t,v)
1826 hres = IHTMLTextAreaElement_put_readOnly(textarea,
b);
1827 IHTMLTextAreaElement_Release(textarea);
1833#define test_textarea_type(t) _test_textarea_type(__LINE__,t)
1840 hres = IHTMLTextAreaElement_get_type(textarea, &
type);
1841 IHTMLTextAreaElement_Release(textarea);
1847#define get_textarea_form(t) _get_textarea_form(__LINE__,t)
1851 IHTMLFormElement *
form;
1854 hres = IHTMLTextAreaElement_get_form(textarea, &
form);
1855 IHTMLTextAreaElement_Release(textarea);
1861#define test_comment_text(c,t) _test_comment_text(__LINE__,c,t)
1873 IHTMLCommentElement_Release(
comment);
1877#define test_attr_specified(a,b) _test_attr_specified(__LINE__,a,b)
1883 hres = IHTMLDOMAttribute_get_specified(
attr, &specified);
1888#define test_attr_expando(a,b) _test_attr_expando(__LINE__,a,b)
1895 hres = IHTMLDOMAttribute2_get_expando(attr2, &expando);
1899 IHTMLDOMAttribute2_Release(attr2);
1902#define test_attr_value(a,b) _test_attr_value(__LINE__,a,b)
1909 hres = IHTMLDOMAttribute2_get_value(attr2, &
val);
1916 IHTMLDOMAttribute2_Release(attr2);
1920#define test_comment_attrs(c) _test_comment_attrs(__LINE__,c)
1926 IHTMLDOMAttribute *
attr;
1931 hres = IHTMLElement4_getAttributeNode(elem4,
name, &
attr);
1940 hres = IHTMLElement4_getAttributeNode(elem4,
name, &
attr);
1946 IHTMLDOMAttribute_Release(
attr);
1947 IHTMLCommentElement_Release(
comment);
1948 IHTMLElement_Release(
elem);
1949 IHTMLElement4_Release(elem4);
1953#define test_object_vspace(u,s) _test_object_vspace(__LINE__,u,s)
1961 hres = IHTMLObjectElement_get_vspace(
object, &
l);
1963 ok_(__FILE__,
line)(
l == exl,
"vspace=%d, expected %d\n",
l, exl);
1964 IHTMLObjectElement_Release(
object);
1967#define test_object_name(a,b) _test_object_name(__LINE__,a,b)
1974 str = (
void*)0xdeadbeef;
1975 hres = IHTMLObjectElement_get_name(
object, &
str);
1982 IHTMLObjectElement_Release(
object);
1985#define set_object_name(a,b) _set_object_name(__LINE__,a,b)
1993 hres = IHTMLObjectElement_put_name(
object,
str);
1996 IHTMLObjectElement_Release(
object);
2001#define create_option_elem(d,t,v) _create_option_elem(__LINE__,d,t,v)
2003 const char *txt,
const char *
val)
2005 IHTMLOptionElementFactory *
factory;
2006 IHTMLOptionElement *
option;
2011 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
2015 IHTMLWindow2_Release(
window);
2029 IHTMLOptionElementFactory_Release(
factory);
2040#define test_img_width(o,w) _test_img_width(__LINE__,o,w)
2046 hres = IHTMLImgElement_get_width(
img, &found);
2048 ok_(__FILE__,
line) (found ==
exp,
"width=%d\n", found);
2051#define test_img_put_width(o,w) _test_img_put_width(__LINE__,o,w)
2062#define test_img_height(o,h) _test_img_height(__LINE__,o,h)
2068 hres = IHTMLImgElement_get_height(
img, &found);
2070 ok_(__FILE__,
line) (found ==
exp,
"height=%d\n", found);
2073#define test_img_put_height(o,w) _test_img_put_height(__LINE__,o,w)
2084#define create_img_elem(d,t,v) _create_img_elem(__LINE__,d,t,v)
2088 IHTMLImageElementFactory *
factory;
2089 IHTMLImgElement *
img;
2095 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
2099 IHTMLWindow2_Release(
window);
2126 IHTMLImageElementFactory_Release(
factory);
2139#define test_select_length(s,l) _test_select_length(__LINE__,s,l)
2150#define test_select_put_length(s,l) _test_select_put_length(__LINE__,s,l)
2159 IHTMLSelectElement_Release(
select);
2162#define test_select_selidx(s,i) _test_select_selidx(__LINE__,s,i)
2173#define test_select_put_selidx(s,i) _test_select_put_selidx(__LINE__,s,i)
2183#define test_select_value(s,v) _test_select_value(__LINE__,s,v)
2198#define test_select_set_value(s,v) _test_select_set_value(__LINE__,s,v)
2205 hres = IHTMLSelectElement_put_value(
select, bstr);
2210#define test_select_type(s,t) _test_select_type(__LINE__,s,t)
2222#define test_select_multiple(s,t) _test_select_multiple(__LINE__,s,t)
2228 hres = IHTMLSelectElement_get_multiple(
select, &
b);
2230 ok_(__FILE__,
line) (
b == exmultiple,
"multiple=%x, expected %x\n",
b, exmultiple);
2233#define test_select_set_multiple(s,v) _test_select_set_multiple(__LINE__,s,v)
2244#define test_select_size(s,v) _test_select_size(__LINE__,s,v)
2256 ok_(__FILE__,
line) (
val == exval,
"size = %d, expected %d\n",
val, exval);
2259#define test_select_set_size(s,v,e) _test_select_set_size(__LINE__,s,v,e)
2265 ok_(__FILE__,
line) (
hres == exhres,
"put_size(%d) got %08x, expect %08x\n",
val,
hres, exhres);
2268#define test_select_name(s,v) _test_select_name(__LINE__,s,v)
2286#define test_select_set_name(s,v) _test_select_set_name(__LINE__,s,v)
2294 hres = IHTMLSelectElement_put_name(
select, bstr);
2299#define test_range_text(r,t) _test_range_text(__LINE__,r,t)
2319#define test_range_collapse(r,b) _test_range_collapse(__LINE__,r,b)
2329#define test_range_expand(r,u,b,t) _test_range_expand(__LINE__,r,u,b,t)
2338 ok_(__FILE__,
line) (
b == exb,
"b=%x, expected %x\n",
b, exb);
2342#define test_range_move(r,u,c,e) _test_range_move(__LINE__,r,u,c,e)
2345 LONG c = 0xdeadbeef;
2350 ok_(__FILE__,
line) (
c == excnt,
"count=%d, expected %d\n",
c, excnt);
2354#define test_range_movestart(r,u,c,e) _test_range_movestart(__LINE__,r,u,c,e)
2358 LONG c = 0xdeadbeef;
2363 ok_(__FILE__,
line) (
c == excnt,
"count=%d, expected %d\n",
c, excnt);
2366#define test_range_moveend(r,u,c,e) _test_range_moveend(__LINE__,r,u,c,e)
2369 LONG c = 0xdeadbeef;
2374 ok_(__FILE__,
line) (
c == excnt,
"count=%d, expected %d\n",
c, excnt);
2377#define test_range_put_text(r,t) _test_range_put_text(__LINE__,r,t)
2383 hres = IHTMLTxtRange_put_text(
range, bstr);
2389#define test_range_inrange(r1,r2,b) _test_range_inrange(__LINE__,r1,r2,b)
2396 hres = IHTMLTxtRange_inRange(range1, range2, &
b);
2398 ok_(__FILE__,
line) (
b == exb,
"(1->2) b=%x, expected %x\n",
b, exb);
2401#define test_range_isequal(r1,r2,b) _test_range_isequal(__LINE__,r1,r2,b)
2408 hres = IHTMLTxtRange_isEqual(range1, range2, &
b);
2410 ok_(__FILE__,
line) (
b == exb,
"(1->2) b=%x, expected %x\n",
b, exb);
2413 hres = IHTMLTxtRange_isEqual(range2, range1, &
b);
2415 ok_(__FILE__,
line) (
b == exb,
"(2->1) b=%x, expected %x\n",
b, exb);
2423#define test_range_paste_html(a,b) _test_range_paste_html(__LINE__,a,b)
2434#define test_range_parent(r,t) _test_range_parent(__LINE__,r,t)
2445 IHTMLElement_Release(
elem);
2448#define get_elem_col_item_idx(a,b) _get_elem_col_item_idx(__LINE__,a,b)
2459 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2461 ok_(__FILE__,
line)(disp !=
NULL,
"disp == NULL\n");
2464 IDispatch_Release(disp);
2468#define test_elem_collection(c,t,l) _test_elem_collection(__LINE__,c,t,l)
2472 IHTMLElementCollection *col;
2482 hres = IUnknown_QueryInterface(unk, &IID_IHTMLElementCollection, (
void**)&col);
2487 hres = IHTMLElementCollection_get_length(col, &
len);
2489 ok_(__FILE__,
line) (
len == exlen,
"len=%d, expected %d\n",
len, exlen);
2496 hres = IHTMLElementCollection_get__newEnum(col, &enum_unk);
2499 hres = IUnknown_QueryInterface(enum_unk, &IID_IEnumVARIANT, (
void**)&enum_var);
2500 IUnknown_Release(enum_unk);
2506 disp = (
void*)0xdeadbeef;
2507 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2509 ok_(__FILE__,
line) (disp !=
NULL,
"item returned NULL\n");
2518 disp2 = (
void*)0xdeadbeef;
2519 hres = IHTMLElementCollection_item(col,
name,
index, &disp2);
2523 IDispatch_Release(disp2);
2528 hres = IEnumVARIANT_Next(enum_var, 1, &
v,
i ? &fetched :
NULL);
2531 ok_(__FILE__,
line)(fetched == 1,
"fetched = %d\n", fetched);
2536 IDispatch_Release(disp);
2539 fetched = 0xdeadbeef;
2541 hres = IEnumVARIANT_Next(enum_var, 1, &
v, &fetched);
2543 ok_(__FILE__,
line)(fetched == 0,
"fetched = %d\n", fetched);
2546 hres = IEnumVARIANT_Reset(enum_var);
2549 fetched = 0xdeadbeef;
2551 hres = IEnumVARIANT_Next(enum_var, 0, &
v, &fetched);
2553 ok_(__FILE__,
line)(fetched == 0,
"fetched = %d\n", fetched);
2556 hres = IEnumVARIANT_Skip(enum_var,
len > 2 ?
len-2 : 0);
2561 hres = IEnumVARIANT_Next(enum_var,
sizeof(
vs)/
sizeof(*
vs),
vs, &fetched);
2563 ok_(__FILE__,
line)(fetched == (
len > 2 ? 2 :
len),
"fetched = %d\n", fetched);
2573 hres = IEnumVARIANT_Reset(enum_var);
2576 hres = IEnumVARIANT_Skip(enum_var,
len+1);
2579 IEnumVARIANT_Release(enum_var);
2583 disp = (
void*)0xdeadbeef;
2584 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2586 ok_(__FILE__,
line) (disp ==
NULL,
"disp != NULL\n");
2590 disp = (
void*)0xdeadbeef;
2591 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2593 ok_(__FILE__,
line) (disp ==
NULL,
"disp != NULL\n");
2597 disp = (
void*)0xdeadbeef;
2598 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2600 ok_(__FILE__,
line) (disp ==
NULL,
"disp != NULL\n");
2604 disp = (
void*)0xdeadbeef;
2605 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2607 ok_(__FILE__,
line) (disp ==
NULL,
"disp != NULL\n");
2611 disp = (
void*)0xdeadbeef;
2612 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
2614 ok_(__FILE__,
line) (disp ==
NULL,
"disp != NULL\n");
2616 IHTMLElementCollection_Release(col);
2619#define test_elem_all(c,t,l) _test_elem_all(__LINE__,c,t,l)
2626 hres = IHTMLElement_get_all(
elem, &disp);
2627 IHTMLElement_Release(
elem);
2631 IDispatch_Release(disp);
2634#define test_doc_all(a,b,c) _test_doc_all(__LINE__,a,b,c)
2637 IHTMLElementCollection *col;
2640 hres = IHTMLDocument2_get_all(doc, &col);
2644 IHTMLElementCollection_Release(col);
2647#define test_elem_getelembytag(a,b,c,d) _test_elem_getelembytag(__LINE__,a,b,c,d)
2651 IHTMLElementCollection *col =
NULL;
2658 hres = IHTMLElement2_getElementsByTagName(
elem, tmp, &col);
2660 IHTMLElement2_Release(
elem);
2662 ok_(__FILE__,
line) (col !=
NULL,
"col == NULL\n");
2666 for(
i=0;
i<exlen;
i++)
2676 IHTMLElementCollection_Release(col);
2679#define test_elem_innertext(e,t) _test_elem_innertext(__LINE__,e,t)
2695#define test_elem_set_innertext(e,t) _test_elem_set_innertext(__LINE__,e,t)
2698 IHTMLDOMChildrenCollection *col;
2711 ok(col !=
NULL,
"col == NULL\n");
2716 hres = IHTMLDOMChildrenCollection_get_length(col, &
length);
2725 IHTMLDOMNode_Release(
node);
2728 IHTMLDOMChildrenCollection_Release(col);
2733#define test_elem_innerhtml(e,t) _test_elem_innerhtml(__LINE__,e,t)
2740 hres = IHTMLElement_get_innerHTML(
elem, &html);
2747 IHTMLElement_Release(
elem);
2751#define test_elem_set_innerhtml(e,t) _test_elem_set_innerhtml(__LINE__,e,t)
2758 html =
a2bstr(inner_html);
2759 hres = IHTMLElement_put_innerHTML(
elem, html);
2762 IHTMLElement_Release(
elem);
2766#define test_elem_set_outerhtml(e,t) _test_elem_set_outerhtml(__LINE__,e,t)
2773 html =
a2bstr(outer_html);
2774 hres = IHTMLElement_put_outerHTML(
elem, html);
2777 IHTMLElement_Release(
elem);
2781#define test_elem_outerhtml(e,t) _test_elem_outerhtml(__LINE__,e,t)
2788 hres = IHTMLElement_get_outerHTML(
elem, &html);
2792 IHTMLElement_Release(
elem);
2796#define test_elem_contains(a,b,c) _test_elem_contains(__LINE__,a,b,c)
2803 hres = IHTMLElement_contains(
elem, elem2, &
b);
2805 ok_(__FILE__,
line)(
b == exval,
"contains returned %x, expected %x\n",
b, exval);
2808#define test_elem_istextedit(a,b) _test_elem_istextedit(__LINE__,a,b)
2815 hres = IHTMLElement_get_isTextEdit(
elem, &
b);
2817 ok_(__FILE__,
line)(
b == exval,
"isTextEdit = %x\n",
b);
2820#define get_first_child(n) _get_first_child(__LINE__,n)
2828 IHTMLDOMNode_Release(
node);
2834#define test_node_has_child(u,b) _test_node_has_child(__LINE__,u,b)
2841 hres = IHTMLDOMNode_hasChildNodes(
node, &
b);
2843 ok_(__FILE__,
line) (
b == exb,
"hasChildNodes=%x, expected %x\n",
b, exb);
2845 IHTMLDOMNode_Release(
node);
2848#define test_node_get_parent(u) _test_node_get_parent(__LINE__,u)
2856 IHTMLDOMNode_Release(
node);
2862#define node_get_next(u) _node_get_next(__LINE__,u)
2870 IHTMLDOMNode_Release(
node);
2876#define node_get_prev(u) _node_get_prev(__LINE__,u)
2883 hres = IHTMLDOMNode_get_previousSibling(
node, &prev);
2884 IHTMLDOMNode_Release(
node);
2890#define test_elem_get_parent(u) _test_elem_get_parent(__LINE__,u)
2898 IHTMLElement_Release(
elem);
2904#define test_elem3_get_disabled(i,b) _test_elem3_get_disabled(__LINE__,i,b)
2912 hres = IHTMLElement3_get_disabled(elem3, &disabled);
2914 ok_(__FILE__,
line) (disabled == exb,
"disabled=%x, expected %x\n", disabled, exb);
2915 IHTMLElement3_Release(elem3);
2918#define test_elem3_set_disabled(i,b) _test_elem3_set_disabled(__LINE__,i,b)
2925 hres = IHTMLElement3_put_disabled(elem3,
b);
2928 IHTMLElement3_Release(elem3);
2932#define test_select_get_disabled(i,b) _test_select_get_disabled(__LINE__,i,b)
2938 hres = IHTMLSelectElement_get_disabled(
select, &disabled);
2940 ok_(__FILE__,
line) (disabled == exb,
"disabled=%x, expected %x\n", disabled, exb);
2953 hres = IHTMLSelectElement_remove(
select, -1);
2962#define test_text_length(u,l) _test_text_length(__LINE__,u,l)
2972 IHTMLDOMTextNode_Release(
text);
2975#define test_text_data(a,b) _test_text_data(__LINE__,a,b)
2985 IHTMLDOMTextNode_Release(
text);
2989#define set_text_data(a,b) _set_text_data(__LINE__,a,b)
2998 IHTMLDOMTextNode_Release(
text);
3002#define text_append_data(a,b) _text_append_data(__LINE__,a,b)
3011 IHTMLDOMTextNode2_Release(
text);
3015#define test_select_set_disabled(i,b) _test_select_set_disabled(__LINE__,i,b)
3020 hres = IHTMLSelectElement_put_disabled(
select,
b);
3026#define test_elem_dir(u,n) _test_elem_dir(__LINE__,u,n)
3034 IHTMLElement2_Release(
elem);
3044#define set_elem_dir(u,n) _set_elem_dir(__LINE__,u,n)
3052 IHTMLElement2_Release(
elem);
3059#define elem_get_scroll_height(u) _elem_get_scroll_height(__LINE__,u)
3063 IHTMLTextContainer *txtcont;
3064 LONG l = -1, l2 = -1;
3067 hres = IHTMLElement2_get_scrollHeight(
elem, &
l);
3069 IHTMLElement2_Release(
elem);
3071 hres = IUnknown_QueryInterface(unk, &IID_IHTMLTextContainer, (
void**)&txtcont);
3074 hres = IHTMLTextContainer_get_scrollHeight(txtcont, &l2);
3075 IHTMLTextContainer_Release(txtcont);
3076 ok_(__FILE__,
line) (
hres ==
S_OK,
"IHTMLTextContainer::get_scrollHeight failed: %d\n", l2);
3077 ok_(__FILE__,
line) (
l == l2,
"unexpected height %d, expected %d\n", l2,
l);
3082#define elem_get_scroll_width(u) _elem_get_scroll_width(__LINE__,u)
3086 IHTMLTextContainer *txtcont;
3087 LONG l = -1, l2 = -1;
3090 hres = IHTMLElement2_get_scrollWidth(
elem, &
l);
3092 IHTMLElement2_Release(
elem);
3094 hres = IUnknown_QueryInterface(unk, &IID_IHTMLTextContainer, (
void**)&txtcont);
3097 hres = IHTMLTextContainer_get_scrollWidth(txtcont, &l2);
3098 IHTMLTextContainer_Release(txtcont);
3099 ok_(__FILE__,
line) (
hres ==
S_OK,
"IHTMLTextContainer::get_scrollWidth failed: %d\n", l2);
3100 ok_(__FILE__,
line) (
l == l2,
"unexpected width %d, expected %d\n", l2,
l);
3105#define elem_get_scroll_top(u) _elem_get_scroll_top(__LINE__,u)
3109 IHTMLTextContainer *txtcont;
3110 LONG l = -1, l2 = -1;
3113 hres = IHTMLElement2_get_scrollTop(
elem, &
l);
3115 IHTMLElement2_Release(
elem);
3117 hres = IUnknown_QueryInterface(unk, &IID_IHTMLTextContainer, (
void**)&txtcont);
3120 hres = IHTMLTextContainer_get_scrollTop(txtcont, &l2);
3121 IHTMLTextContainer_Release(txtcont);
3122 ok_(__FILE__,
line) (
hres ==
S_OK,
"IHTMLTextContainer::get_scrollTop failed: %d\n", l2);
3123 ok_(__FILE__,
line) (
l == l2,
"unexpected top %d, expected %d\n", l2,
l);
3128#define elem_get_scroll_left(u) _elem_get_scroll_left(__LINE__,u)
3132 IHTMLTextContainer *txtcont;
3133 LONG l = -1, l2 = -1;
3139 hres = IHTMLElement2_get_scrollLeft(
elem, &
l);
3141 IHTMLElement2_Release(
elem);
3143 hres = IUnknown_QueryInterface(unk, &IID_IHTMLTextContainer, (
void**)&txtcont);
3144 ok(
hres ==
S_OK,
"Could not get IHTMLTextContainer: %08x\n",
hres);
3146 hres = IHTMLTextContainer_get_scrollLeft(txtcont, &l2);
3147 IHTMLTextContainer_Release(txtcont);
3148 ok(
hres ==
S_OK,
"IHTMLTextContainer::get_scrollLeft failed: %d\n", l2);
3149 ok(
l == l2,
"unexpected left %d, expected %d\n", l2,
l);
3152#define test_img_src(a,b,c) _test_img_src(__LINE__,a,b,c)
3160 IHTMLImgElement_Release(
img);
3167#define test_img_set_src(u,s) _test_img_set_src(__LINE__,u,s)
3175 hres = IHTMLImgElement_put_src(
img, tmp);
3176 IHTMLImgElement_Release(
img);
3181#define test_img_alt(u,a) _test_img_alt(__LINE__,u,a)
3188 hres = IHTMLImgElement_get_alt(
img, &alt);
3193 ok_(__FILE__,
line) (!alt,
"alt != NULL\n");
3197#define test_img_set_alt(u,a) _test_img_set_alt(__LINE__,u,a)
3205 hres = IHTMLImgElement_put_alt(
img, tmp);
3212#define test_img_align(u,a) _test_img_align(__LINE__,u,a)
3220 hres = IHTMLImgElement_put_align(
img, tmp);
3224 hres = IHTMLImgElement_get_align(
img, &tmp);
3230#define test_img_name(u, c) _test_img_name(__LINE__,u, c)
3237 hres = IHTMLImgElement_get_name(
img, &sName);
3240 IHTMLImgElement_Release(
img);
3244#define test_img_complete(a,b) _test_img_complete(__LINE__,a,b)
3251 hres = IHTMLImgElement_get_complete(
img, &
b);
3253 ok_(__FILE__,
line) (
b == exb,
"complete = %x, expected %x\n",
b, exb);
3254 IHTMLImgElement_Release(
img);
3257#define test_img_isMap(u, c) _test_img_isMap(__LINE__,u, c)
3264 hres = IHTMLImgElement_put_isMap(
img,
v);
3267 hres = IHTMLImgElement_get_isMap(
img, &
b);
3269 ok_(__FILE__,
line) (
b ==
v,
"isMap = %x, expected %x\n",
b,
v);
3273 IHTMLImgElement_Release(
img);
3278 static const WCHAR attr1W[] = {
'a',
't',
't',
'r',
'1',0};
3284 DISPID id = DISPID_STARTENUM;
3287 hres = IHTMLElement_QueryInterface(
elem, &IID_IDispatchEx, (
void**)&dispex);
3290 hres = IHTMLElement_removeAttribute(
elem, attr1, 0, &succ);
3292 ok(succ,
"removeAttribute set succ to FALSE\n");
3295 hres = IDispatchEx_GetNextDispID(dispex, fdexEnumAll,
id, &
id);
3300 hres = IDispatchEx_GetMemberName(dispex,
id, &
name);
3304 ok(0,
"attr1 should be removed\n");
3309 ok(checked_no == 2,
"checked_no=%d, expected 2\n", checked_no);
3310 IDispatchEx_Release(dispex);
3314 hres = IHTMLElement_setAttribute(
elem, attr1,
val, 0);
3319#define test_attr_node_name(a,b) _test_attr_node_name(__LINE__,a,b)
3325 hres = IHTMLDOMAttribute_get_nodeName(
attr, &
str);
3334 IHTMLDOMAttribute *
attr;
3335 DISPPARAMS dp = {
NULL,
NULL, 0, 0};
3342 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
3346 hres = IDispatchEx_GetDispID(dispex, bstr, fdexNameCaseSensitive, &
id);
3358 hres = IDispatchEx_GetDispID(dispex, bstr, fdexNameCaseSensitive, &
id);
3372 IHTMLDOMAttribute_Release(
attr);
3375 IDispatchEx_Release(dispex);
3380 static const WCHAR testW[] = {
't',
'e',
's',
't',0};
3384 IHTMLDOMAttribute *dom_attr;
3385 IHTMLAttributeCollection *attr_col;
3391 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLDOMNode, (
void**)&
node);
3394 hres = IHTMLDOMNode_get_attributes(
node, &disp);
3400 IDispatch_Release(
attr);
3401 IHTMLDOMNode_Release(
node);
3403 hres = IDispatch_QueryInterface(disp, &IID_IHTMLAttributeCollection, (
void**)&attr_col);
3406 hres = IHTMLAttributeCollection_get_length(attr_col, &
i);
3415 hres = IHTMLAttributeCollection_get_length(attr_col, &
len);
3417 ok(
len ==
i+1,
"get_length returned %d, expected %d\n",
len,
i+1);
3423 hres = IHTMLAttributeCollection_item(attr_col, &
id, &
attr);
3426 hres = IDispatch_QueryInterface(
attr, &IID_IHTMLDOMAttribute, (
void**)&dom_attr);
3428 IDispatch_Release(
attr);
3430 hres = IHTMLDOMAttribute_get_nodeName(dom_attr, &
name);
3435 hres = IHTMLDOMAttribute_get_nodeValue(dom_attr, &
val);
3443 hres = IHTMLDOMAttribute_get_nodeValue(dom_attr, &
val);
3451 hres = IHTMLDOMAttribute_get_nodeValue(dom_attr, &
val);
3454 ok(!
V_BSTR(&
val),
"attr2: V_BSTR(&val) != NULL\n");
3458 hres = IHTMLDOMAttribute_get_nodeValue(dom_attr, &
val);
3465 hres = IHTMLDOMAttribute_get_nodeValue(dom_attr, &
val);
3472 IHTMLDOMAttribute_Release(dom_attr);
3476 ok(checked==5,
"invalid number of specified attributes (%d)\n", checked);
3479 hres = IHTMLAttributeCollection_item(attr_col, &
id, &
attr);
3484 hres = IHTMLAttributeCollection_item(attr_col, &
id, &
attr);
3490 IDispatch_Release(disp);
3491 IHTMLAttributeCollection_Release(attr_col);
3494#define test_elem_id(e,i) _test_elem_id(__LINE__,e,i)
3498 BSTR id = (
void*)0xdeadbeef;
3501 hres = IHTMLElement_get_id(
elem, &
id);
3502 IHTMLElement_Release(
elem);
3513#define test_elem_language(e,i) _test_elem_language(__LINE__,e,i)
3530#define set_elem_language(e,i) _set_elem_language(__LINE__,e,i)
3543#define test_elem_put_id(u,i) _test_elem_put_id(__LINE__,u,i)
3550 hres = IHTMLElement_put_id(
elem, tmp);
3551 IHTMLElement_Release(
elem);
3564 hres = IHTMLElement3_get_contentEditable(elem3, &strDefault);
3568 hres = IHTMLElement3_put_contentEditable(elem3,
str);
3571 hres = IHTMLElement3_get_contentEditable(elem3, &
str);
3576 hres = IHTMLElement3_put_contentEditable(elem3, strDefault);
3580 IHTMLElement3_Release(elem3);
3583#define test_input_type(i,t) _test_input_type(__LINE__,i,t)
3595#define test_input_name(u, c) _test_input_name(__LINE__,u, c)
3610#define test_input_set_name(u, c) _test_input_set_name(__LINE__,u, c)
3616 hres = IHTMLInputElement_put_name(
input, tmp);
3623#define test_input_get_disabled(i,b) _test_input_get_disabled(__LINE__,i,b)
3629 hres = IHTMLInputElement_get_disabled(
input, &disabled);
3631 ok_(__FILE__,
line) (disabled == exb,
"disabled=%x, expected %x\n", disabled, exb);
3636#define test_input_set_disabled(i,b) _test_input_set_disabled(__LINE__,i,b)
3641 hres = IHTMLInputElement_put_disabled(
input,
b);
3647#define test_input_get_defaultchecked(i,b) _test_input_get_defaultchecked(__LINE__,i,b)
3653 hres = IHTMLInputElement_get_defaultChecked(
input, &checked);
3655 ok_(__FILE__,
line) (checked == exb,
"checked=%x, expected %x\n", checked, exb);
3658#define test_input_set_defaultchecked(i,b) _test_input_set_defaultchecked(__LINE__,i,b)
3663 hres = IHTMLInputElement_put_defaultChecked(
input,
b);
3669#define test_input_get_checked(i,b) _test_input_get_checked(__LINE__,i,b)
3675 hres = IHTMLInputElement_get_checked(
input, &checked);
3677 ok_(__FILE__,
line) (checked == exb,
"checked=%x, expected %x\n", checked, exb);
3680#define test_input_set_checked(i,b) _test_input_set_checked(__LINE__,i,b)
3685 hres = IHTMLInputElement_put_checked(
input,
b);
3691#define test_input_maxlength(i,b) _test_input_maxlength(__LINE__,i,b)
3694 LONG maxlength = 0xdeadbeef;
3697 hres = IHTMLInputElement_get_maxLength(
input, &maxlength);
3699 ok_(__FILE__,
line) (maxlength == exl,
"maxLength=%x, expected %d\n", maxlength, exl);
3702#define test_input_set_maxlength(i,b) _test_input_set_maxlength(__LINE__,i,b)
3707 hres = IHTMLInputElement_put_maxLength(
input,
l);
3713#define test_input_value(o,t) _test_input_value(__LINE__,o,t)
3716 IHTMLInputElement *
input;
3720 hres = IUnknown_QueryInterface(unk, &IID_IHTMLInputElement, (
void**)&
input);
3725 hres = IHTMLInputElement_get_value(
input, &bstr);
3730 ok_(__FILE__,
line) (!bstr,
"exval != NULL\n");
3732 IHTMLInputElement_Release(
input);
3735#define test_input_get_form(o, t) _test_input_get_form(__LINE__, o, t)
3738 IHTMLInputElement *
input;
3739 IHTMLFormElement *
form;
3743 ok_(__FILE__,
line) (unk !=
NULL,
"unk is NULL!\n");
3744 hres = IUnknown_QueryInterface(unk, &IID_IHTMLInputElement, (
void**)&
input);
3754 IHTMLInputElement_Release(
input);
3758 hres = IHTMLFormElement_QueryInterface(
form, &IID_IHTMLElement, (
void **)&
elem);
3759 ok_(__FILE__,
line) (
hres ==
S_OK,
"QueryInterface(IID_IHTMLElement) failed: %08x\n",
hres);
3762 IHTMLInputElement_Release(
input);
3763 IHTMLFormElement_Release(
form);
3769 IHTMLInputElement_Release(
input);
3770 IHTMLFormElement_Release(
form);
3771 IHTMLElement_Release(
elem);
3774#define test_input_put_value(o,v) _test_input_put_value(__LINE__,o,v)
3777 IHTMLInputElement *
input;
3781 hres = IUnknown_QueryInterface(unk, &IID_IHTMLInputElement, (
void**)&
input);
3787 hres = IHTMLInputElement_put_value(
input, bstr);
3790 IHTMLInputElement_Release(
input);
3795#define test_input_defaultValue(o,t) _test_input_defaultValue(__LINE__,o,t)
3798 IHTMLInputElement *
input;
3802 hres = IUnknown_QueryInterface(unk, &IID_IHTMLInputElement, (
void**)&
input);
3807 hres = IHTMLInputElement_get_defaultValue(
input, &
str);
3812 ok_(__FILE__,
line) (!
str,
"exval != NULL\n");
3814 IHTMLInputElement_Release(
input);
3817#define test_input_put_defaultValue(o,v) _test_input_put_defaultValue(__LINE__,o,v)
3820 IHTMLInputElement *
input;
3824 hres = IUnknown_QueryInterface(unk, &IID_IHTMLInputElement, (
void**)&
input);
3833 IHTMLInputElement_Release(
input);
3838#define test_input_src(i,s) _test_input_src(__LINE__,i,s)
3853#define test_input_set_src(u,s) _test_input_set_src(__LINE__,u,s)
3860 hres = IHTMLInputElement_put_src(
input, tmp);
3867#define test_input_set_size(u,s,r) _test_input_set_size(__LINE__,u,s,r)
3873 ok_(__FILE__,
line) (
hres == exret,
"Expect ret = %08x, got: %08x\n", exret,
hres);
3876#define test_input_get_size(u,s) _test_input_get_size(__LINE__,u,s)
3884 ok_(__FILE__,
line) (
size == exsize,
"Expect %d, got %d\n", exsize,
size);
3890#define test_input_readOnly(u,b) _test_input_readOnly(__LINE__,u,b)
3896 hres = IHTMLInputElement_put_readOnly(
input,
v);
3899 hres = IHTMLInputElement_get_readOnly(
input, &
b);
3901 ok_(__FILE__,
line)(
v ==
b,
"Expect %x, got %x\n",
v,
b);
3904#define test_elem_class(u,c) _test_elem_class(__LINE__,u,c)
3911 hres = IHTMLElement_get_className(
elem, &
class);
3912 IHTMLElement_Release(
elem);
3917 ok_(__FILE__,
line) (!
class,
"class != NULL\n");
3921#define test_elem_tabindex(u,i) _test_elem_tabindex(__LINE__,u,i)
3928 hres = IHTMLElement2_get_tabIndex(elem2, &
index);
3929 IHTMLElement2_Release(elem2);
3934#define test_elem_set_tabindex(u,i) _test_elem_set_tabindex(__LINE__,u,i)
3940 hres = IHTMLElement2_put_tabIndex(elem2,
index);
3941 IHTMLElement2_Release(elem2);
3947#define test_style_media(s,m) _test_style_media(__LINE__,s,m)
3961 IHTMLStyleElement_Release(
style);
3965#define test_style_put_media(s,m) _test_style_put_media(__LINE__,s,m)
3975 IHTMLStyleElement_Release(
style);
3981#define test_style_type(s,m) _test_style_type(__LINE__,s,m)
3995 IHTMLStyleElement_Release(
style);
3999#define test_style_put_type(s,m) _test_style_put_type(__LINE__,s,m)
4009 IHTMLStyleElement_Release(
style);
4015#define test_elem_filters(u) _test_elem_filters(__LINE__,u)
4020 IHTMLFiltersCollection *filters;
4022 hres = IHTMLElement_get_filters(
elem, &filters);
4024 "get_filters failed: %08x\n",
hres);
4030 hres = IHTMLFiltersCollection_get_length(filters, &
len);
4034 hres = IHTMLFiltersCollection_QueryInterface(filters, &IID_IDispatchEx, (
void**)&dispex);
4036 "Could not get IDispatchEx interface: %08x\n",
hres);
4039 IDispatchEx_Release(dispex);
4042 IHTMLFiltersCollection_Release(filters);
4045 IHTMLElement_Release(
elem);
4048#define test_elem_set_class(u,c) _test_elem_set_class(__LINE__,u,c)
4055 tmp =
class ? a2bstr(class) :
NULL;
4056 hres = IHTMLElement_put_className(elem, tmp);
4057 IHTMLElement_Release(elem);
4058 ok_(__FILE__,line) (hres == S_OK, "put_className failed: %08x\n", hres);
4064#define test_elem_title(u,t) _test_elem_title(__LINE__,u,t)
4072 IHTMLElement_Release(
elem);
4082#define test_elem_set_title(u,t) _test_elem_set_title(__LINE__,u,t)
4090 hres = IHTMLElement_put_title(
elem, tmp);
4093 IHTMLElement_Release(
elem);
4097#define test_node_get_value_str(u,e) _test_node_get_value_str(__LINE__,u,e)
4105 IHTMLDOMNode_Release(
node);
4106 ok_(__FILE__,
line) (
hres ==
S_OK,
"get_nodeValue failed: %08x, expected VT_BSTR\n",
hres);
4118#define test_node_put_value_str(u,v) _test_node_put_value_str(__LINE__,u,v)
4129 ok_(__FILE__,
line) (
hres ==
S_OK,
"get_nodeValue failed: %08x, expected VT_BSTR\n",
hres);
4130 IHTMLDOMNode_Release(
node);
4134#define test_elem_client_size(u) _test_elem_client_size(__LINE__,u)
4141 hres = IHTMLElement2_get_clientWidth(
elem, &
l);
4143 hres = IHTMLElement2_get_clientHeight(
elem, &
l);
4146 IHTMLElement2_Release(
elem);
4149#define test_elem_client_rect(u) _test_elem_client_rect(__LINE__,u)
4156 hres = IHTMLElement2_get_clientLeft(
elem, &
l);
4158 ok_(__FILE__,
line) (!
l,
"clientLeft = %d\n",
l);
4160 hres = IHTMLElement2_get_clientTop(
elem, &
l);
4162 ok_(__FILE__,
line) (!
l,
"clientTop = %d\n",
l);
4164 IHTMLElement2_Release(
elem);
4167#define test_form_length(e,l) _test_form_length(__LINE__,e,l)
4176 ok_(__FILE__,
line)(
len == exlen,
"length=%d, expected %d\n",
len, exlen);
4178 IHTMLFormElement_Release(
form);
4181#define test_form_action(f,a) _test_form_action(__LINE__,f,a)
4196 IHTMLFormElement_Release(
form);
4199#define test_form_put_action(f,a) _test_form_put_action(__LINE__,f,a)
4206 hres = IHTMLFormElement_put_action(
form, tmp);
4209 IHTMLFormElement_Release(
form);
4214#define test_form_method(f,a) _test_form_method(__LINE__,f,a)
4229 IHTMLFormElement_Release(
form);
4232#define test_form_put_method(f,r,a) _test_form_put_method(__LINE__,f,r,a)
4239 hres = IHTMLFormElement_put_method(
form, tmp);
4240 ok_(__FILE__,
line)(
hres == exp_hres,
"put_method returned: %08x, expected %08x\n",
hres, exp_hres);
4242 IHTMLFormElement_Release(
form);
4244 if(exp_hres ==
S_OK)
4248#define test_form_name(f,a) _test_form_name(__LINE__,f,a)
4263 IHTMLFormElement_Release(
form);
4266#define test_form_put_name(f,a) _test_form_put_name(__LINE__,f,a)
4273 hres = IHTMLFormElement_put_name(
form, tmp);
4276 IHTMLFormElement_Release(
form);
4281#define test_form_encoding(f,a) _test_form_encoding(__LINE__,f,a)
4296 IHTMLFormElement_Release(
form);
4299#define test_form_put_encoding(f,r,a) _test_form_put_encoding(__LINE__,f,r,a)
4306 hres = IHTMLFormElement_put_encoding(
form, tmp);
4307 ok_(__FILE__,
line)(
hres == exp_hres,
"put_encoding returned: %08x, expected %08x\n",
hres, exp_hres);
4309 IHTMLFormElement_Release(
form);
4311 if(exp_hres ==
S_OK)
4315#define test_form_elements(a) _test_form_elements(__LINE__,a)
4323 hres = IHTMLFormElement_get_elements(
form, &disp);
4325 ok_(__FILE__,
line)(disp !=
NULL,
"disp = NULL\n");
4328 IDispatch_Release(disp);
4329 IHTMLFormElement_Release(
form);
4332#define test_form_reset(a) _test_form_reset(__LINE__,a)
4338 hres = IHTMLFormElement_reset(
form);
4341 IHTMLFormElement_Release(
form);
4349 static const char target[] =
"_blank";
4361 IHTMLFormElement_Release(
form);
4367 IHTMLFormElement *
form;
4383 IHTMLSelectElement_Release(
select);
4384 IHTMLFormElement_Release(
form);
4389 IHTMLFormElement *
form;
4392 form = (IHTMLFormElement*)0xdeadbeef;
4398#define test_meta_name(a,b) _test_meta_name(__LINE__,a,b)
4401 IHTMLMetaElement *meta;
4406 hres = IHTMLMetaElement_get_name(meta, &
name);
4410 IHTMLMetaElement_Release(meta);
4413#define test_meta_content(a,b) _test_meta_content(__LINE__,a,b)
4416 IHTMLMetaElement *meta;
4421 hres = IHTMLMetaElement_get_content(meta, &
content);
4425 IHTMLMetaElement_Release(meta);
4428#define test_meta_httpequiv(a,b) _test_meta_httpequiv(__LINE__,a,b)
4431 IHTMLMetaElement *meta;
4436 hres = IHTMLMetaElement_get_httpEquiv(meta, &
val);
4440 IHTMLMetaElement_Release(meta);
4443#define test_meta_charset(a,b) _test_meta_charset(__LINE__,a,b)
4446 IHTMLMetaElement *meta;
4451 hres = IHTMLMetaElement_get_charset(meta, &
val);
4458 IHTMLMetaElement_Release(meta);
4461#define set_meta_charset(a,b) _set_meta_charset(__LINE__,a,b)
4465 IHTMLMetaElement *meta;
4469 hres = IHTMLMetaElement_put_charset(meta,
val);
4472 IHTMLMetaElement_Release(meta);
4477#define test_link_media(a,b) _test_link_media(__LINE__,a,b)
4493 IHTMLLinkElement_Release(
link);
4496#define test_link_disabled(a,b) _test_link_disabled(__LINE__,a,b)
4503 hres = IHTMLLinkElement_get_disabled(
link, &
b);
4505 ok_(__FILE__,
line)(
b ==
v,
"disabled = %x, expected %x\n",
b,
v);
4507 IHTMLLinkElement_Release(
link);
4510#define link_put_disabled(a,b) _link_put_disabled(__LINE__,a,b)
4516 hres = IHTMLLinkElement_put_disabled(
link,
v);
4518 IHTMLLinkElement_Release(
link);
4522#define test_link_rel(a,b) _test_link_rel(__LINE__,a,b)
4529 hres = IHTMLLinkElement_get_rel(
link, &rel);
4536 IHTMLLinkElement_Release(
link);
4539#define link_put_rel(a,b) _link_put_rel(__LINE__,a,b)
4549 IHTMLLinkElement_Release(
link);
4553#define test_link_rev(a,b) _test_link_rev(__LINE__,a,b)
4567 IHTMLLinkElement_Release(
link);
4570#define link_put_rev(a,b) _link_put_rev(__LINE__,a,b)
4580 IHTMLLinkElement_Release(
link);
4584#define test_link_type(a,b) _test_link_type(__LINE__,a,b)
4598 IHTMLLinkElement_Release(
link);
4601#define test_script_text(a,b) _test_script_text(__LINE__,a,b)
4607 str = (
void*)0xdeadbeef;
4614#define link_put_type(a,b) _link_put_type(__LINE__,a,b)
4624 IHTMLLinkElement_Release(
link);
4628#define test_link_href(a,b) _test_link_href(__LINE__,a,b)
4635 hres = IHTMLLinkElement_get_href(
link, &href);
4642 IHTMLLinkElement_Release(
link);
4645#define link_put_href(a,b) _link_put_href(__LINE__,a,b)
4655 IHTMLLinkElement_Release(
link);
4659#define get_elem_doc(e) _get_elem_doc(__LINE__,e)
4663 IHTMLDocument2 *doc;
4668 hres = IHTMLElement_get_document(
elem, &disp);
4670 ok(disp !=
NULL,
"disp == NULL\n");
4672 hres = IDispatch_QueryInterface(disp, &IID_IHTMLDocument2, (
void**)&doc);
4673 IDispatch_Release(disp);
4674 ok(
hres ==
S_OK,
"Could not get IHTMLDocument2 iface: %08x\n",
hres);
4679#define get_elem_attr_node(a,b,c) _get_elem_attr_node(__LINE__,a,b,c)
4684 IHTMLDOMAttribute *
attr;
4687 attr = (
void*)0xdeadbeef;
4695 IHTMLElement4_Release(
elem);
4700#define get_attr_node_value(a,b,c) _get_attr_node_value(__LINE__,a,b,c)
4705 hres = IHTMLDOMAttribute_get_nodeValue(
attr,
v);
4710#define put_attr_node_value(a,b) _put_attr_node_value(__LINE__,a,b)
4715 hres = IHTMLDOMAttribute_put_nodeValue(
attr,
v);
4719#define get_window_doc(e) _get_window_doc(__LINE__,e)
4722 IHTMLDocument2 *doc;
4726 hres = IHTMLWindow2_get_document(
window, &doc);
4728 ok(doc !=
NULL,
"disp == NULL\n");
4733#define doc_get_body(d) _doc_get_body(__LINE__,d)
4739 hres = IHTMLDocument2_get_body(doc, &
elem);
4746#define test_create_elem(d,t) _test_create_elem(__LINE__,d,t)
4754 hres = IHTMLDocument2_createElement(doc, tmp, &
elem);
4762#define test_create_text(d,t) _test_create_text(__LINE__,d,t)
4765 IHTMLDocument3 *doc3;
4770 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
4774 hres = IHTMLDocument3_createTextNode(doc3, tmp, &
node);
4775 IHTMLDocument3_Release(doc3);
4783#define test_node_append_child(n,c) _test_node_append_child(__LINE__,n,c)
4788 IHTMLDOMNode *new_child =
NULL;
4793 ok_(__FILE__,
line) (new_child !=
NULL,
"new_child == NULL\n");
4796 IHTMLDOMNode_Release(
node);
4797 IHTMLDOMNode_Release(
child);
4802#define test_node_insertbefore(n,c,v) _test_node_insertbefore(__LINE__,n,c,v)
4806 IHTMLDOMNode *new_child =
NULL;
4811 ok_(__FILE__,
line) (new_child !=
NULL,
"new_child == NULL\n");
4814 IHTMLDOMNode_Release(
node);
4819#define test_node_remove_child(n,c) _test_node_remove_child(__LINE__,n,c)
4823 IHTMLDOMNode *new_node =
NULL;
4828 ok_(__FILE__,
line) (new_node !=
NULL,
"new_node == NULL\n");
4831 IHTMLDOMNode_Release(
node);
4832 IHTMLDOMNode_Release(new_node);
4835#define test_doc_title(d,t) _test_doc_title(__LINE__,d,t)
4841 hres = IHTMLDocument2_get_title(doc, &
title);
4847#define test_doc_set_title(d,t) _test_doc_set_title(__LINE__,d,t)
4854 hres = IHTMLDocument2_put_title(doc, tmp);
4862 IHTMLElement2 *elem2;
4867 hres = IHTMLElement2_getBoundingClientRect(elem2, &
rect);
4869 hres = IHTMLElement2_getBoundingClientRect(elem2, &
rect2);
4870 IHTMLElement2_Release(elem2);
4874 IHTMLRect_Release(
rect2);
4881 ok(
l != 0xdeadbeef,
"l = 0xdeadbeef\n");
4886 ok(
l != 0xdeadbeef,
"l = 0xdeadbeef\n");
4891 ok(
l != 0xdeadbeef,
"l = 0xdeadbeef\n");
4896 ok(
l != 0xdeadbeef,
"l = 0xdeadbeef\n");
4898 IHTMLRect_Release(
rect);
4913 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
4917 IDispatch_Release(disp);
4923 disp = (
void*)0xdeadbeef;
4924 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
4926 ok(disp !=
NULL,
"disp == NULL\n");
4932 IDispatch_Release(disp);
4936 disp = (
void*)0xdeadbeef;
4937 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
4939 ok(disp ==
NULL,
"disp != NULL\n");
4942 disp = (
void*)0xdeadbeef;
4943 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
4945 ok(disp ==
NULL,
"disp != NULL\n");
4952 IHTMLElementCollection *col;
4958 hres = IHTMLDocument2_get_all(doc, &col);
4960 ok(col !=
NULL,
"col == NULL\n");
4968 hres = IHTMLElementCollection_item(col,
name,
index, &disp);
4969 IHTMLElementCollection_Release(col);
4972 if(!expect_success) {
4973 ok(disp ==
NULL,
"disp != NULL\n");
4977 ok(disp !=
NULL,
"disp == NULL\n");
4982 IDispatch_Release(disp);
4989 IHTMLDocument3 *doc3;
4994 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
4995 ok(
hres ==
S_OK,
"Could not get IHTMLDocument3 iface: %08x\n",
hres);
4998 hres = IHTMLDocument3_getElementById(doc3, tmp, &
elem);
5002 IHTMLDocument3_Release(doc3);
5040 hres = IHTMLSelectElement_get_options(
select, &disp);
5042 ok(disp !=
NULL,
"options == NULL\n");
5044 IDispatch_Release(disp);
5049 disp = (
void*)0xdeadbeef;
5052 ok(!disp,
"disp = %p\n", disp);
5055 disp = (
void*)0xdeadbeef;
5058 ok(!disp,
"disp = %p\n", disp);
5067 ok(disp !=
NULL,
"disp = NULL\n");
5075 ok(disp2 !=
NULL,
"disp = NULL\n");
5077 IDispatch_Release(disp2);
5078 IDispatch_Release(disp);
5095 disp = (
void*)0xdeadbeef;
5098 ok(!disp,
"disp = %p\n", disp);
5101 disp = (
void*)0xdeadbeef;
5104 ok(!disp,
"disp = %p\n", disp);
5113 ok(disp !=
NULL,
"disp = NULL\n");
5121 ok(disp2 !=
NULL,
"disp = NULL\n");
5123 IDispatch_Release(disp2);
5124 IDispatch_Release(disp);
5129 IHTMLOptionElement *
option;
5140 IHTMLOptionElement_Release(
option);
5146 IHTMLFormElement *
form;
5158 IHTMLOptionElement_Release(
option);
5159 IHTMLFormElement_Release(
form);
5164 IHTMLImgElement *
img;
5172 IHTMLImgElement_Release(
img);
5182 IHTMLImgElement_Release(
img);
5186#define insert_adjacent_elem(a,b,c) _insert_adjacent_elem(__LINE__,a,b,c)
5190 IHTMLElement *ret_elem =
NULL;
5194 hres = IHTMLElement2_insertAdjacentElement(elem2,
str,
elem, &ret_elem);
5195 IHTMLElement2_Release(elem2);
5198 ok_(__FILE__,
line)(ret_elem ==
elem,
"ret_elem != elem\n");
5199 IHTMLElement_Release(ret_elem);
5204 IHTMLElement *
elem, *elem2;
5211 IHTMLElement_Release(
elem);
5222 IHTMLElement_Release(elem2);
5223 IHTMLElement_Release(
elem);
5230 IHTMLBodyElement *
body;
5231 IHTMLTxtRange *
range;
5236 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLBodyElement, (
void**)&
body);
5238 IHTMLElement_Release(
elem);
5241 IHTMLBodyElement_Release(
body);
5247#define range_duplicate(a) _range_duplicate(__LINE__,a)
5259#define test_range_set_end_point(a,b,c,d) _test_range_set_end_point(__LINE__,a,b,c,d)
5261 IHTMLTxtRange *ref_range,
HRESULT exhres)
5266 hres = IHTMLTxtRange_setEndPoint(
range,
str, ref_range);
5267 ok_(__FILE__,
line)(
hres == exhres,
"setEndPoint failed: %08x, expected %08x\n",
hres, exhres);
5273 IHTMLTxtRange *body_range, *
range, *range2;
5297 IHTMLTxtRange_Release(range2);
5325 IHTMLTxtRange_Release(
range);
5343 IHTMLTxtRange_Release(
range);
5369 IHTMLTxtRange_Release(
range);
5393 IHTMLTxtRange_Release(
range);
5417 IHTMLTxtRange_Release(
range);
5420 ok(
hres ==
S_OK,
"IHTMLDocument2_get_selection failed: %08x\n",
hres);
5425 hres = IHTMLSelectionObject_createRange(
selection, &disp_range);
5426 ok(
hres ==
S_OK,
"IHTMLSelectionObject_createRange failed: %08x\n",
hres);
5427 IHTMLSelectionObject_Release(
selection);
5429 hres = IDispatch_QueryInterface(disp_range, &IID_IHTMLTxtRange, (
void **)&
range);
5430 ok(
hres ==
S_OK,
"Could not get IID_IHTMLTxtRange interface: 0x%08x\n",
hres);
5431 IDispatch_Release(disp_range);
5508 IHTMLTxtRange_Release(
range);
5509 IHTMLTxtRange_Release(range2);
5510 IHTMLTxtRange_Release(body_range);
5511 IHTMLElement_Release(
body);
5517 IHTMLTxtRange *
range;
5540 IHTMLTxtRange_Release(
range);
5543#define test_compatmode(a,b) _test_compatmode(__LINE__,a,b)
5550 hres = IHTMLDocument5_get_compatMode(doc, &
str);
5554 IHTMLDocument5_Release(doc);
5559 IHTMLLocation *
location, *location2;
5568 hres = IHTMLDocument2_get_location(doc, &location2);
5571 ok(
location == location2,
"location != location2\n");
5572 IHTMLLocation_Release(location2);
5574 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
5577 hres = IHTMLWindow2_get_location(
window, &location2);
5579 ok(
location == location2,
"location != location2\n");
5580 IHTMLLocation_Release(location2);
5599 ok(!
ref,
"location chould be destroyed here\n");
5604 IHTMLPluginsCollection *col, *col2;
5612 hres = IHTMLWindow2_get_navigator(
window, &nav);
5614 IHTMLWindow2_Release(
window);
5616 hres = IOmNavigator_get_plugins(nav, &col);
5619 hres = IOmNavigator_get_plugins(nav, &col2);
5622 IHTMLPluginsCollection_Release(col2);
5624 test_disp2((
IUnknown*)col, &DIID_DispCPlugins, &IID_IHTMLPluginsCollection,
"[object]");
5627 hres = IHTMLPluginsCollection_get_length(col, &
len);
5631 hres = IHTMLPluginsCollection_refresh(col, VARIANT_FALSE);
5634 hres = IHTMLPluginsCollection_refresh(col, VARIANT_TRUE);
5637 ref = IHTMLPluginsCollection_Release(col);
5640 IOmNavigator_Release(nav);
5645 IHTMLMimeTypesCollection *col, *col2;
5650 hres = IOmNavigator_get_mimeTypes(nav, &col);
5653 hres = IOmNavigator_get_mimeTypes(nav, &col2);
5656 IHTMLMimeTypesCollection_Release(col2);
5661 hres = IHTMLMimeTypesCollection_get_length(col, &
length);
5665 ref = IHTMLMimeTypesCollection_Release(col);
5669#define test_framebase_name(a,b) _test_framebase_name(__LINE__,a,b)
5673 IHTMLFrameBase *fbase;
5676 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLFrameBase, (
void**)&fbase);
5677 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase interface: 0x%08x\n",
hres);
5679 hres = IHTMLFrameBase_get_name(fbase, &
str);
5687 IHTMLFrameBase_Release(fbase);
5690#define test_framebase_put_name(a,b) _test_framebase_put_name(__LINE__,a,b)
5693 IHTMLFrameBase *fbase;
5697 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLFrameBase, (
void**)&fbase);
5698 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase interface: 0x%08x\n",
hres);
5701 hres = IHTMLFrameBase_put_name(fbase,
str);
5706 IHTMLFrameBase_Release(fbase);
5709#define test_framebase_src(a,b) _test_framebase_src(__LINE__,a,b)
5713 IHTMLFrameBase *fbase;
5716 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLFrameBase, (
void**)&fbase);
5717 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase interface: 0x%08x\n",
hres);
5719 hres = IHTMLFrameBase_get_src(fbase, &
str);
5727 IHTMLFrameBase_Release(fbase);
5730#define test_framebase_marginheight(a,b) _test_framebase_marginheight(__LINE__,a,b)
5736 hres = IHTMLFrameBase_get_marginHeight(framebase, &
v);
5746#define set_framebase_marginheight(a,b) _set_framebase_marginheight(__LINE__,a,b)
5754 hres = IHTMLFrameBase_put_marginHeight(framebase,
v);
5759#define test_framebase_marginwidth(a,b) _test_framebase_marginwidth(__LINE__,a,b)
5765 hres = IHTMLFrameBase_get_marginWidth(framebase, &
v);
5775#define set_framebase_marginwidth(a,b) _set_framebase_marginwidth(__LINE__,a,b)
5783 hres = IHTMLFrameBase_put_marginWidth(framebase,
v);
5790 IHTMLFrameBase *fbase;
5795 hres = IUnknown_QueryInterface(unk, &IID_IHTMLFrameBase, (
void**)&fbase);
5796 ok(
hres ==
S_OK,
"Could not get IHTMLFrameBase interface: 0x%08x\n",
hres);
5798 hres = IHTMLFrameBase_get_scrolling(fbase, &
str);
5799 ok(
hres ==
S_OK,
"IHTMLFrameBase_get_scrolling failed: 0x%08x\n",
hres);
5804 hres = IHTMLFrameBase_put_scrolling(fbase,
str);
5805 ok(
hres ==
S_OK,
"IHTMLFrameBase_put_scrolling failed: 0x%08x\n",
hres);
5808 hres = IHTMLFrameBase_get_scrolling(fbase, &
str);
5809 ok(
hres ==
S_OK,
"IHTMLFrameBase_get_scrolling failed: 0x%08x\n",
hres);
5814 hres = IHTMLFrameBase_put_scrolling(fbase,
str);
5816 "with E_INVALIDARG, instead: 0x%08x\n",
hres);
5819 hres = IHTMLFrameBase_get_scrolling(fbase, &
str);
5820 ok(
hres ==
S_OK,
"IHTMLFrameBase_get_scrolling failed: 0x%08x\n",
hres);
5824 hres = IHTMLFrameBase_get_frameBorder(fbase, &
str);
5829 hres = IHTMLFrameBase_put_frameBorder(fbase,
str);
5833 hres = IHTMLFrameBase_get_frameBorder(fbase, &
str);
5845 IHTMLFrameBase_Release(fbase);
5848#define test_language_string(a,b) _test_language_string(__LINE__,a,b)
5854 if(pLCIDToLocaleName) {
5855 res = pLCIDToLocaleName(lcid,
buf,
sizeof(
buf)/
sizeof(
WCHAR), 0);
5859 win_skip(
"LCIDToLocaleName not available, unable to test language string\n");
5864#define test_table_length(t,l) _test_table_length(__LINE__,t,l)
5867 IHTMLElementCollection *col;
5871 hres = IHTMLTable_get_rows(
table, &col);
5876 hres = IHTMLElementCollection_get_length(col, &
len);
5880 IHTMLElementCollection_Release(col);
5886 IOmNavigator *navigator, *navigator2;
5894 static const WCHAR v40[] = {
'4',
'.',
'0'};
5896 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
5899 hres = IHTMLWindow2_get_navigator(
window, &navigator);
5901 ok(navigator !=
NULL,
"navigator == NULL\n");
5902 test_disp2((
IUnknown*)navigator, &DIID_DispHTMLNavigator, &IID_IOmNavigator,
"[object]");
5904 hres = IHTMLWindow2_get_navigator(
window, &navigator2);
5906 ok(navigator != navigator2,
"navigator2 != navihgator\n");
5908 IHTMLWindow2_Release(
window);
5909 IOmNavigator_Release(navigator2);
5911 hres = IOmNavigator_get_appCodeName(navigator, &bstr);
5917 hres = IOmNavigator_get_appName(navigator, &bstr);
5923 hres = IOmNavigator_get_platform(navigator, &bstr);
5925 ok(!
strcmp_wa(bstr,
sizeof(
void*) == 8 ?
"Win64" :
"Win32")
5930 hres = IOmNavigator_get_cpuClass(navigator, &bstr);
5936 hres = IOmNavigator_get_appVersion(navigator, &bstr);
5942 hres = IOmNavigator_get_systemLanguage(navigator, &bstr);
5947 if (pGetUserDefaultUILanguage)
5950 hres = IOmNavigator_get_browserLanguage(navigator, &bstr);
5956 win_skip(
"GetUserDefaultUILanguage not available\n");
5959 hres = IOmNavigator_get_userLanguage(navigator, &bstr);
5964 hres = IOmNavigator_toString(navigator,
NULL);
5968 hres = IOmNavigator_toString(navigator, &bstr);
5974 hres = IOmNavigator_get_onLine(navigator, &
b);
5976 ok(
b == VARIANT_TRUE,
"onLine = %x\n",
b);
5983 hres = IOmNavigator_get_userAgent(navigator, &bstr);
5990 hres = IOmNavigator_get_appVersion(navigator, &bstr);
5995 skip(
"nonstandard user agent\n");
5999 hres = IOmNavigator_get_appMinorVersion(navigator, &bstr);
6001 ok(bstr !=
NULL,
"appMinorVersion returned NULL\n");
6006 ref = IOmNavigator_Release(navigator);
6007 ok(!
ref,
"navigator should be destroyed here\n");
6012 IHTMLScreen *
screen, *screen2;
6025 hres = IHTMLWindow2_get_screen(
window, &screen2);
6027 ok(screen2 !=
NULL,
"screen == NULL\n");
6029 IHTMLScreen_Release(screen2);
6031 hres = IHTMLScreen_QueryInterface(
screen, &IID_IDispatchEx, (
void**)&dispex);
6035 IDispatchEx_Release(dispex);
6044 ok(
l == exl,
"width = %d, expected %d\n",
l, exl);
6050 ok(
l == exl,
"height = %d, expected %d\n",
l, exl);
6056 ok(
l == exl,
"height = %d, expected %d\n",
l, exl);
6065 ok(
l == work_area.
bottom-work_area.
top,
"availHeight = %d, expected %d\n",
l, work_area.
bottom-work_area.
top);
6070 ok(
l == work_area.
right-work_area.
left,
"availWidth = %d, expected %d\n",
l, work_area.
right-work_area.
left);
6072 IHTMLScreen_Release(
screen);
6078 IHTMLTxtRange *
range;
6092 IHTMLSelectionObject_Release(
selection);
6095 hres = IDispatch_QueryInterface(disp, &IID_IHTMLTxtRange, (
void**)&
range);
6096 IDispatch_Release(disp);
6097 ok(
hres ==
S_OK,
"Could not get IHTMLTxtRange interface: %08x\n",
hres);
6100 IHTMLTxtRange_Release(
range);
6105 IHTMLDocument2 *doc_node, *owner_doc;
6107 IHTMLDocument3 *doc3;
6111 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
6112 ok(
hres ==
S_OK,
"QueryInterface(IID_IHTMLDocument3) failed: %08x\n",
hres);
6114 hres = IHTMLDocument2_toString(doc, &bstr);
6117 "toString returned %s, expected [object]\n",
wine_dbgstr_w(bstr));
6120 hres = IHTMLDocument3_get_documentElement(doc3, &
elem);
6121 IHTMLDocument3_Release(doc3);
6130 IHTMLDocument2_Release(owner_doc);
6133 ok(!owner_doc,
"owner_doc = %p\n", owner_doc);
6134 IHTMLDocument2_Release(doc_node);
6138 IHTMLElement_Release(
elem);
6148 bstr = (
void*)0xdeadbeef;
6149 hres = IHTMLBodyElement_get_background(
body, &bstr);
6151 ok(bstr ==
NULL,
"bstr != NULL\n");
6154 ok(
l != -1,
"scrollHeight == -1\n");
6156 ok(
l != -1,
"scrollWidth == -1\n");
6158 ok(!
l,
"scrollTop = %d\n",
l);
6165 hres = IHTMLBodyElement_get_text(
body, &
v);
6173 hres = IHTMLBodyElement_put_text(
body,
v);
6178 hres = IHTMLBodyElement_get_text(
body, &
v);
6187 hres = IHTMLBodyElement_put_text(
body,
v);
6192 hres = IHTMLBodyElement_get_text(
body, &
v);
6199#define test_body_scroll(a,b) _test_body_scroll(__LINE__,a,b)
6211#define set_body_scroll(a,b) _set_body_scroll(__LINE__,a,b)
6229 hres = IHTMLBodyElement_get_bgColor(
body, &vDefaultbg);
6236 hres = IHTMLBodyElement_put_bgColor(
body, vbg);
6240 hres = IHTMLBodyElement_get_bgColor(
body, &vbg);
6247 hres = IHTMLBodyElement_put_bgColor(
body, vDefaultbg);
6259 IOmHistory *history, *history2;
6263 hres = IHTMLWindow2_get_history(
window, &history);
6265 ok(history !=
NULL,
"history = NULL\n");
6270 hres = IHTMLWindow2_get_history(
window, &history2);
6272 ok(history2 !=
NULL,
"history2 = NULL\n");
6275 IOmHistory_Release(history2);
6276 IOmHistory_Release(history);
6283 IHTMLXMLHttpRequestFactory *
factory;
6284 IHTMLXMLHttpRequest *xml;
6292 ok(
hres ==
S_OK,
"QueryInterface(&IID_IHTMLXMLHttpRequestFactory) failed: %08x\n",
hres);
6296 hres = IHTMLXMLHttpRequestFactory_create(
factory, &xml);
6298 ok(xml !=
NULL,
"xml == NULL\n");
6301 IHTMLXMLHttpRequest_Release(xml);
6302 IHTMLXMLHttpRequestFactory_Release(
factory);
6309 IHTMLWindow5 *window5;
6310 IHTMLDocument2 *doc2 =
NULL;
6317 hres = IHTMLDocument2_get_parentWindow(doc, &
window);
6320 hres = IHTMLWindow2_QueryInterface(
window, &IID_ITravelLogClient, (
void**)&unk);
6322 IUnknown_Release(unk);
6324 win_skip(
"IID_ITravelLogClient not supported\n");
6328 hres = IHTMLWindow2_get_document(
window, &doc2);
6330 ok(doc2 !=
NULL,
"doc2 == NULL\n");
6340 unk = (
void*)0xdeadbeef;
6341 hres = IHTMLDocument2_QueryInterface(doc2, &IID_ICustomDoc, (
void**)&unk);
6343 ok(!unk,
"unk = %p\n", unk);
6345 IHTMLDocument2_Release(doc2);
6347 hres = IHTMLWindow2_get_window(
window, &window2);
6349 ok(window2 !=
NULL,
"window2 == NULL\n");
6353 ok(window2 !=
NULL,
"self == NULL\n");
6355 ok(self == window2,
"self != window2\n");
6357 IHTMLWindow2_Release(window2);
6360 hres = IHTMLDocument2_get_Script(doc, &disp);
6362 ok(disp == (
void*)
window,
"disp != window\n");
6363 IDispatch_Release(disp);
6384 ok(
parent == self,
"parent != window\n");
6385 IHTMLWindow2_Release(
parent);
6386 IHTMLWindow2_Release(self);
6396 hres = IHTMLWindow2_QueryInterface(
window, &IID_IHTMLWindow5, (
void**)&window5);
6398 ok(window5 !=
NULL,
"window5 == NULL\n");
6400 IHTMLWindow5_Release(window5);
6402 win_skip(
"IHTMLWindow5 not supported!\n");
6405 IHTMLWindow2_Release(
window);
6411 IHTMLDOMImplementation *dom_implementation;
6417 hres = IHTMLDocument5_get_implementation(doc5, &dom_implementation);
6418 IHTMLDocument5_Release(doc5);
6420 ok(dom_implementation !=
NULL,
"dom_implementation == NULL\n");
6426 hres = IHTMLDOMImplementation_hasFeature(dom_implementation,
str,
v, &
b);
6430 ok(!
b,
"hasFeature returned %x\n",
b);
6432 IHTMLDOMImplementation_Release(dom_implementation);
6437 IHTMLStyleSheetsCollection *stylesheetcol;
6438 IHTMLCurrentStyle *cstyle;
6439 IHTMLBodyElement *
body;
6440 IHTMLElement2 *elem2;
6452 hres = IHTMLDocument2_get_images(doc,
NULL);
6463 hres = IHTMLDocument2_get_applets(doc,
NULL);
6474 hres = IHTMLDocument2_get_links(doc,
NULL);
6485 hres = IHTMLDocument2_get_forms(doc,
NULL);
6496 hres = IHTMLDocument2_get_anchors(doc,
NULL);
6507 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLBodyElement, (
void**)&
body);
6511 IHTMLBodyElement_Release(
body);
6520 IHTMLStyle_Release(
style);
6523 hres = IHTMLDocument2_get_charset(doc, &
str);
6525 ok(
str && *
str,
"charset is empty\n");
6535 hres = IHTMLElement2_get_currentStyle(elem2, &cstyle);
6543 hres = IHTMLCurrentStyle_QueryInterface(cstyle, &IID_IHTMLCurrentStyle4, (
void**)&unk);
6545 IUnknown_Release(unk);
6549 win_skip(
"IID_IHTMLCurrentStyle4 not supported\n");
6552 IHTMLCurrentStyle_Release(cstyle);
6554 IHTMLElement2_Release(elem2);
6556 IHTMLElement_Release(
elem);
6558 hres = IHTMLDocument2_get_styleSheets(doc, &stylesheetcol);
6562 hres = IHTMLStyleSheetsCollection_get_length(stylesheetcol, &
l);
6564 ok(
l == 0,
"length = %d\n",
l);
6566 IHTMLStyleSheetsCollection_Release(stylesheetcol);
6568 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLFiltersCollection, (
void**)&
body);
6576 "execCommand failed: %08x, expected OLECMDERR_E_NOTSUPPORTED or E_INVALIDARG\n",
hres);
6579 str =
a2bstr(
"respectvisibilityindesign");
6584 ok(
hres ==
S_OK,
"execCommand failed: %08x, expected DRAGDROP_E_NOTREGISTERED\n",
hres);
6592#define test_button_name(a,b) _test_button_name(__LINE__,a,b)
6599 str = (
void*)0xdeadbeef;
6607 IHTMLButtonElement_Release(
button);
6610#define set_button_name(a,b) _set_button_name(__LINE__,a,b)
6620 IHTMLButtonElement_Release(
button);
6625#define test_button_get_disabled(i,b) _test_button_get_disabled(__LINE__,i,b)
6632 hres = IHTMLButtonElement_get_disabled(
button, &disabled);
6634 ok_(__FILE__,
line) (disabled == exb,
"disabled=%x, expected %x\n", disabled, exb);
6635 IHTMLButtonElement_Release(
button);
6640#define test_button_set_disabled(i,b) _test_button_set_disabled(__LINE__,i,b)
6646 hres = IHTMLButtonElement_put_disabled(
button,
b);
6648 IHTMLButtonElement_Release(
button);
6661#define test_tr_possess(e,r,l,i) _test_tr_possess(__LINE__,e,r,l,i)
6663 IHTMLTableRow *
row,
LONG len,
const char *
id)
6665 IHTMLElementCollection *col;
6671 hres = IHTMLTableRow_get_cells(
row, &col);
6673 ok_(__FILE__,
line)(col !=
NULL,
"get_cells returned NULL\n");
6675 hres = IHTMLElementCollection_get_length(col, &lval);
6677 ok_(__FILE__,
line)(lval ==
len,
"expected len = %d, got %d\n",
len, lval);
6681 hres = IHTMLElementCollection_tags(col,
var, &disp);
6683 ok_(__FILE__,
line)(disp !=
NULL,
"disp == NULL\n");
6686 IDispatch_Release(disp);
6687 IHTMLElementCollection_Release(col);
6694 IHTMLTableCell *cell;
6696 hres = IHTMLTableRow_deleteCell(
row, 0);
6700 hres = IHTMLTableRow_insertCell(
row, 0, &disp);
6702 ok(disp !=
NULL,
"disp == NULL\n");
6703 hres = IDispatch_QueryInterface(disp, &IID_IHTMLTableCell, (
void **)&cell);
6704 ok(
hres ==
S_OK,
"Could not get IID_IHTMLTableCell interface: %08x\n",
hres);
6705 ok(cell !=
NULL,
"cell == NULL\n");
6707 IHTMLTableCell_Release(cell);
6709 IDispatch_Release(disp);
6714 IHTMLElementCollection *col;
6723 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLTableRow, (
void**)&
row);
6724 ok(
hres ==
S_OK,
"Could not get IHTMLTableRow iface: %08x\n",
hres);
6729 hres = IHTMLTableRow_get_cells(
row, &col);
6731 ok(col !=
NULL,
"get_cells returned NULL\n");
6734 IHTMLElementCollection_Release(col);
6737 hres = IHTMLTableRow_put_align(
row, bstr);
6742 hres = IHTMLTableRow_get_align(
row, &bstr);
6744 ok(bstr !=
NULL,
"get_align returned NULL\n");
6749 hres = IHTMLTableRow_put_vAlign(
row, bstr);
6754 hres = IHTMLTableRow_get_vAlign(
row, &bstr);
6756 ok(bstr !=
NULL,
"get_valign returned NULL\n");
6761 hres = IHTMLTableRow_get_rowIndex(
row, &lval);
6763 ok(lval == 1,
"get_rowIndex returned %d\n", lval);
6766 hres = IHTMLTableRow_get_sectionRowIndex(
row, &lval);
6768 ok(lval == 1,
"get_sectionRowIndex returned %d\n", lval);
6770 hres = IHTMLTableRow_get_bgColor(
row, &vDefaultbg);
6777 hres = IHTMLTableRow_put_bgColor(
row, vbg);
6781 hres = IHTMLTableRow_get_bgColor(
row, &vbg);
6788 V_I4(&vbg) = 0xff0000;
6789 hres = IHTMLTableRow_put_bgColor(
row, vbg);
6793 hres = IHTMLTableRow_get_bgColor(
row, &vbg);
6800 hres = IHTMLTableRow_put_bgColor(
row, vDefaultbg);
6806 IHTMLTableRow_Release(
row);
6811 IHTMLTableCell *cell;
6817 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLTableCell, (
void**)&cell);
6818 ok(
hres ==
S_OK,
"Could not get IHTMLTableRow iface: %08x\n",
hres);
6823 hres = IHTMLTableCell_get_cellIndex(cell, &lval);
6825 ok(lval == 1,
"Expected 1, got %d\n", lval);
6828 hres = IHTMLTableCell_put_align(cell,
str);
6833 hres = IHTMLTableCell_get_align(cell, &
str);
6841 hres = IHTMLTableCell_get_bgColor(cell, &vDefaultbg);
6848 hres = IHTMLTableCell_put_bgColor(cell, vbg);
6852 hres = IHTMLTableCell_get_bgColor(cell, &vbg);
6859 V_I4(&vbg) = 0xff0000;
6860 hres = IHTMLTableCell_put_bgColor(cell, vbg);
6864 hres = IHTMLTableCell_get_bgColor(cell, &vbg);
6871 hres = IHTMLTableCell_put_bgColor(cell, vDefaultbg);
6875 IHTMLTableCell_Release(cell);
6880 IHTMLLabelElement *
label;
6897 str = (
void*)0xdeadbeef;
6913 IHTMLLabelElement_Release(
label);
6916#define test_table_cell_spacing(a,b) _test_table_cell_spacing(__LINE__,a,b)
6923 hres = IHTMLTable_get_cellSpacing(
table, &
v);
6933#define test_table_cell_padding(a,b) _test_table_cell_padding(__LINE__,a,b)
6940 hres = IHTMLTable_get_cellPadding(
table, &
v);
6959 hres = IHTMLTable_insertRow(
table, 0, &disp);
6961 ok(disp !=
NULL,
"disp == NULL\n");
6966 hres = IDispatch_QueryInterface(disp, &IID_IHTMLTableRow, (
void**)&
row);
6967 IDispatch_Release(disp);
6977 IHTMLTableRow_Release(
row);
6986 IHTMLElementCollection *col;
6988 IHTMLTable3 *table3;
6999 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLTable, (
void**)&
table);
7000 ok(
hres ==
S_OK,
"Could not get IHTMLTable iface: %08x\n",
hres);
7004 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLTable3, (
void**)&table3);
7005 ok(
hres ==
S_OK,
"Could not get IHTMLTable3 iface: %08x\n",
hres);
7010 hres = IHTMLTable_get_rows(
table, &col);
7012 ok(col !=
NULL,
"get_rows returned NULL\n");
7015 IHTMLElementCollection_Release(col);
7022 IHTMLDOMNode_Release(
node);
7027 IHTMLDOMNode_Release(
node);
7030 hres = IHTMLTable_get_tBodies(
table, &col);
7032 ok(col !=
NULL,
"get_tBodies returned NULL\n");
7035 IHTMLElementCollection_Release(col);
7074 hres = IHTMLTable_put_align(
table, bstr);
7079 hres = IHTMLTable_get_align(
table, &bstr);
7081 ok(bstr !=
NULL,
"get_align returned NULL\n");
7085 hres = IHTMLTable_get_bgColor(
table, &vDefaultbg);
7092 hres = IHTMLTable_put_bgColor(
table, vbg);
7096 hres = IHTMLTable_get_bgColor(
table, &vbg);
7103 V_I4(&vbg) = 0xff0000;
7104 hres = IHTMLTable_put_bgColor(
table, vbg);
7108 hres = IHTMLTable_get_bgColor(
table, &vbg);
7115 hres = IHTMLTable_put_bgColor(
table, vDefaultbg);
7168 hres = IHTMLTable_put_frame(
table, bstr);
7171 hres = IHTMLTable_get_frame(
table, &bstr);
7177 bstr =
a2bstr(
"summary");
7178 hres = IHTMLTable3_put_summary(table3, bstr);
7182 hres = IHTMLTable3_get_summary(table3, &bstr);
7187 IHTMLTable3_Release(table3);
7188 IHTMLTable_Release(
table);
7207 hres = IHTMLDocument2_writeln(doc,
sa);
7209 hres = IHTMLDocument2_write(doc,
sa);
7237 hres = IHTMLDocument2_write(doc,
sa);
7245 IHTMLDocument2 *window_doc, *elem_doc;
7246 IHTMLFrameElement3 *frame_elem3;
7253 IHTMLWindow2_Release(content_window);
7259 hres = IUnknown_QueryInterface(frame_elem, &IID_IHTMLFrameElement3, (
void**)&frame_elem3);
7263 hres = IHTMLFrameElement3_get_contentDocument(frame_elem3, &disp);
7265 ok(disp !=
NULL,
"contentDocument == NULL\n");
7268 IDispatch_Release(disp);
7269 IHTMLFrameElement3_Release(frame_elem3);
7271 win_skip(
"IHTMLFrameElement3 not supported\n");
7275 IHTMLDocument2_Release(elem_doc);
7276 IHTMLDocument2_Release(window_doc);
7279#define test_iframe_height(a,b) _test_iframe_height(__LINE__,a,b)
7286 hres = IHTMLIFrameElement2_get_height(iframe, &
v);
7294 IHTMLIFrameElement2_Release(iframe);
7297#define set_iframe_height(a,b) _set_iframe_height(__LINE__,a,b)
7306 hres = IHTMLIFrameElement2_put_height(iframe,
v);
7309 IHTMLIFrameElement2_Release(iframe);
7312#define test_iframe_width(a,b) _test_iframe_width(__LINE__,a,b)
7319 hres = IHTMLIFrameElement2_get_width(iframe, &
v);
7327 IHTMLIFrameElement2_Release(iframe);
7330#define set_iframe_width(a,b) _set_iframe_width(__LINE__,a,b)
7339 hres = IHTMLIFrameElement2_put_width(iframe,
v);
7342 IHTMLIFrameElement2_Release(iframe);
7347 IHTMLDocument2 *content_doc, *owner_doc;
7348 IHTMLIFrameElement3 *iframe3;
7349 IHTMLElementCollection *col;
7373 IHTMLWindow2_Release(content_window);
7375 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLIFrameElement3, (
void**)&iframe3);
7377 hres = IHTMLIFrameElement3_get_contentDocument(iframe3, &disp);
7380 IDispatch_Release(disp);
7382 IHTMLIFrameElement3_Release(iframe3);
7384 win_skip(
"IHTMLIFrameElement3 not supported\n");
7401 hres = IHTMLDocument2_open(content_doc,
str, errv, errv, errv, &disp);
7404 ok(disp !=
NULL,
"disp == NULL\n");
7406 IDispatch_Release(disp);
7408 doc_write(content_doc,
FALSE,
"<html><head><title>test</title></head>");
7413 hres = IHTMLDocument2_get_all(content_doc, &col);
7416 IHTMLElementCollection_Release(col);
7421 IHTMLElement_Release(
body);
7423 hres = IHTMLDocument2_close(content_doc);
7427 ok(!owner_doc,
"owner_doc = %p\n", owner_doc);
7429 IHTMLDocument2_Release(content_doc);
7432#define test_stylesheet_csstext(a,b,c) _test_stylesheet_csstext(__LINE__,a,b,c)
7438 hres = IHTMLStyleSheet_get_cssText(stylesheet, &
str);
7455#define set_stylesheet_csstext(a,b,c) _set_stylesheet_csstext(__LINE__,a,b,c)
7461 hres = IHTMLStyleSheet_put_cssText(stylesheet,
str);
7471 IHTMLStyleSheetRulesCollection *col =
NULL;
7472 IHTMLStyleSheet *stylesheet;
7476 test_disp2((
IUnknown*)disp, &DIID_DispHTMLStyleSheet, &IID_IHTMLStyleSheet,
"[object]");
7478 hres = IDispatch_QueryInterface(disp, &IID_IHTMLStyleSheet, (
void**)&stylesheet);
7481 hres = IHTMLStyleSheet_get_rules(stylesheet, &col);
7483 ok(col !=
NULL,
"col == NULL\n");
7485 test_disp2((
IUnknown*)col, &DIID_DispHTMLStyleSheetRulesCollection, &IID_IHTMLStyleSheetRulesCollection,
"[object]");
7486 IHTMLStyleSheetRulesCollection_Release(col);
7488 href = (
void*)0xdeadbeef;
7489 hres = IHTMLStyleSheet_get_href(stylesheet, &href);
7491 ok(href ==
NULL,
"got href != NULL\n");
7502 IHTMLStyleSheet_Release(stylesheet);
7507 IHTMLStyleSheetsCollection *col =
NULL;
7512 hres = IHTMLDocument2_get_styleSheets(doc, &col);
7514 ok(col !=
NULL,
"col == NULL\n");
7516 test_disp2((
IUnknown*)col, &DIID_DispHTMLStyleSheetsCollection, &IID_IHTMLStyleSheetsCollection,
"[object]");
7518 hres = IHTMLStyleSheetsCollection_get_length(col, &
len);
7526 hres = IHTMLStyleSheetsCollection_item(col, &
idx, &
res);
7537 hres = IHTMLStyleSheetsCollection_item(col, &
idx, &
res);
7542 IHTMLStyleSheetsCollection_Release(col);
7549 DISPPARAMS dp = {
NULL,
NULL, 0, 0};
7557 static const WCHAR w0[] = {
'0',0};
7558 static const WCHAR w100[] = {
'1',
'0',
'0',0};
7560 hres = IHTMLDOMChildrenCollection_QueryInterface(col, &IID_IDispatchEx, (
void**)&dispex);
7564 hres = IDispatchEx_GetDispID(dispex, bstr, fdexNameCaseSensitive, &
id);
7576 IHTMLDOMNode_Release(
node);
7580 hres = IDispatchEx_GetDispID(dispex, bstr, fdexNameCaseSensitive, &
id);
7584 IDispatchEx_Release(dispex);
7594 hres = IUnknown_QueryInterface(unk, &IID_IEnumVARIANT, (
void**)&enum_var);
7595 ok(
hres ==
S_OK,
"Could not get IEnumVARIANT iface: %08x\n",
hres);
7600 hres = IEnumVARIANT_Next(enum_var, 1, &
v,
i ? &fetched :
NULL);
7603 ok(fetched == 1,
"fetched = %d\n", fetched);
7608 fetched = 0xdeadbeef;
7610 hres = IEnumVARIANT_Next(enum_var, 1, &
v, &fetched);
7612 ok(fetched == 0,
"fetched = %d\n", fetched);
7615 hres = IEnumVARIANT_Reset(enum_var);
7618 fetched = 0xdeadbeef;
7620 hres = IEnumVARIANT_Next(enum_var, 0, &
v, &fetched);
7621 ok(
hres ==
S_OK,
"Next returned %08x, expected S_FALSE\n",
hres);
7622 ok(fetched == 0,
"fetched = %d\n", fetched);
7625 hres = IEnumVARIANT_Skip(enum_var,
len > 2 ?
len-2 : 0);
7628 hres = IEnumVARIANT_Reset(enum_var);
7631 hres = IEnumVARIANT_Skip(enum_var,
len+1);
7634 IEnumVARIANT_Release(enum_var);
7639 IHTMLElementCollection *col;
7640 IHTMLDOMChildrenCollection *child_col;
7641 IHTMLElement *
elem, *elem2, *elem3;
7642 IHTMLDOMNode *
node, *node2;
7648 IHTMLDocument3 *doc3;
7690 hres = IHTMLDocument2_get_all(doc, &col);
7697 IHTMLElement_Release(
elem);
7701 IHTMLElement_Release(
elem);
7703 IHTMLElementCollection_Release(col);
7748 IHTMLElement_Release(
elem);
7752 ok(!
elem,
"elem != NULL\n");
7772 IHTMLDOMNode_Release(
node);
7773 ok(node2 !=
NULL,
"node == NULL\n");
7776 IHTMLDOMNode_Release(node2);
7782 ok(
type == 9,
"type=%d, expected 9\n",
type);
7784 IHTMLDOMNode_Release(
node);
7785 ok(node2 ==
NULL,
"node != NULL\n");
7789 ok(elem2 !=
NULL,
"elem2 == NULL\n");
7793 ok(elem3 !=
NULL,
"elem3 == NULL\n");
7804 IHTMLElement_Release(elem2);
7807 ok(elem2 ==
NULL,
"elem2 != NULL\n");
7809 IHTMLElement_Release(elem3);
7817 IHTMLElement_Release(
elem);
7823 IHTMLDocument2 *doc_node, *elem_doc;
7838 IHTMLDOMNode_Release(
node);
7844 IHTMLSelectElement_Release(
select);
7850 IHTMLDocument2_Release(doc_node);
7851 IHTMLDocument2_Release(elem_doc);
7853 IHTMLElement_Release(
elem);
7858 IHTMLScriptElement *
script;
7861 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLScriptElement, (
void**)&
script);
7862 ok(
hres ==
S_OK,
"Could not get IHTMLScriptElement interface: %08x\n",
hres);
7889 hres = IHTMLScriptElement_put_defer(
script, VARIANT_TRUE);
7892 hres = IHTMLScriptElement_get_defer(
script, &vb);
7894 ok(vb == VARIANT_TRUE,
"get_defer result is %08x\n",
hres);
7896 hres = IHTMLScriptElement_put_defer(
script, VARIANT_FALSE);
7905 IHTMLScriptElement_Release(
script);
7913 IHTMLInputElement *
input;
7915 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLInputElement, (
void**)&
input);
7916 ok(
hres ==
S_OK,
"Could not get IHTMLInputElement: %08x\n",
hres);
7970 IHTMLInputElement_Release(
input);
7971 IHTMLElement_Release(
elem);
7987 IHTMLElement_Release(
elem);
7995 IHTMLElement_Release(
elem);
8004 IHTMLElement_Release(
elem);
8011 IHTMLElement_Release(
elem);
8018 IHTMLElement_Release(
elem);
8025 IHTMLElement_Release(
elem);
8032 IHTMLElement_Release(
elem);
8039 IHTMLElement_Release(
elem);
8050 IHTMLElement_Release(
elem);
8060 IHTMLElement_Release(
elem);
8118 IHTMLElement_Release(
elem);
8128 IHTMLElement_Release(
elem);
8140 ok(!node2,
"node2 != NULL\n");
8149 hres = IHTMLDOMNode_get_attributes(
node, &disp);
8151 ok(!disp,
"disp != NULL\n");
8153 IHTMLDOMNode_Release(
node);
8157 ok(child_col !=
NULL,
"child_coll == NULL\n");
8164 hres = IHTMLDOMChildrenCollection_get_length(child_col, &
length);
8180 IHTMLDOMNode_Release(prev);
8182 IHTMLDOMNode_Release(
node);
8193 IHTMLDOMNode_Release(node2);
8194 IHTMLDOMNode_Release(
node);
8197 hres = IHTMLDOMChildrenCollection_item(child_col,
length - 1,
NULL);
8203 hres = IHTMLDOMChildrenCollection_item(child_col, 6000, &disp);
8206 hres = IHTMLDOMChildrenCollection_item(child_col,
length, &disp);
8211 hres = IHTMLDOMChildrenCollection_get__newEnum(child_col, &enum_unk);
8216 IUnknown_Release(enum_unk);
8218 IHTMLDOMChildrenCollection_Release(child_col);
8225 IHTMLElement_Release(
elem);
8232 IHTMLElement_Release(
elem);
8242 IHTMLElement_Release(
elem);
8249 hres = IHTMLDocument2_get_Script(doc, &disp);
8254 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
8255 ok(
hres ==
S_OK,
"IDispatch_QueryInterface failed: %08x\n",
hres);
8260 hres = IDispatchEx_GetDispID(dispex,
str, 1, &
pid);
8262 ok(
pid != -1,
"pid == -1\n");
8264 IDispatchEx_Release(dispex);
8267 IDispatch_Release(disp);
8269 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
8270 ok(
hres ==
S_OK,
"Could not get IHTMLDocument3 iface: %08x\n",
hres);
8273 hres = IHTMLDocument3_getElementsByTagName(doc3,
str, &col);
8281 IHTMLElementCollection_Release(col);
8295 IHTMLDOMNode_Release(
node);
8296 IHTMLElement_Release(elem2);
8297 IHTMLElement_Release(
elem);
8299 hres = IHTMLDocument3_recalc(doc3, VARIANT_TRUE);
8302 IHTMLDocument3_Release(doc3);
8312 IHTMLElement_Release(
elem);
8319 IHTMLWindow2_Release(
window);
8324 IHTMLDOMAttribute *
attr, *attr2;
8338 IHTMLDOMAttribute_Release(attr2);
8352 IHTMLDOMAttribute_Release(
attr);
8370 IHTMLDOMAttribute_Release(
attr);
8387 IHTMLDOMAttribute_Release(
attr);
8392 IHTMLDOMAttribute_Release(
attr);
8400 "<img id=\"imgid\" src=\"BLOCKED::http://www.winehq.org/img.png\" />");
8404 IHTMLElement_Release(
elem);
8408 "<img id=\"imgid\" src=\"BLOCKE::http://www.winehq.org/img.png\" />");
8416 IHTMLElement_Release(
elem);
8420#define doc_get_elems_by_name(a,b) _doc_get_elems_by_name(__LINE__,a,b)
8424 IHTMLElementCollection *col;
8428 hres = IHTMLDocument3_getElementsByName(doc3,
str, &col);
8432 IHTMLDocument3_Release(doc3);
8439 IHTMLElementCollection *col;
8449 "<input name=\"test\"><a name=\"test\"></a><a name=\"xxx\"></a><div id=\"test\"></div>");
8452 IHTMLElementCollection_Release(col);
8456 IHTMLElementCollection_Release(col);
8460 hres = IHTMLElementCollection_get_length(col, &
len);
8463 IHTMLElementCollection_Release(col);
8465 IHTMLElement_Release(
body);
8470 IHTMLElement *
elem, *elem2, *
div;
8492 IHTMLElement_Release(
elem);
8497 ok(elem2 !=
NULL,
"elem2 == NULL\n");
8500 IHTMLElement_Release(elem2);
8503 ok(elem2 !=
NULL,
"elem2 == NULL\n");
8506 IHTMLElement_Release(elem2);
8511 IHTMLFormElement *
form;
8528 IHTMLElement_Release(
elem);
8535 IHTMLElement_Release(
elem);
8541 IHTMLFormElement *
form;
8544 ok(elem2 !=
NULL,
"elem2 == NULL\n");
8550 IHTMLFormElement_Release(
form);
8551 IHTMLElement_Release(elem2);
8552 IHTMLElement_Release(
elem);
8556 "<input value=\"val\" id =\"inputid\" />");
8563 IHTMLElement_Release(
elem);
8570 "<form id=\"form\"><input type=\"button\" /><div><input type=\"text\" id=\"inputid\"/></div></textarea>");
8591 IHTMLElement_Release(
elem);
8595 IHTMLElement_Release(
elem);
8599 "<form id=\"form\" name=\"form_name\"><select id=\"sform\"><option id=\"oform\"></option></select></form>");
8604 IHTMLElement_Release(
elem);
8609 IHTMLElement_Release(
elem);
8611 IHTMLElement_Release(elem2);
8618 IHTMLElement_Release(
div);
8625 IHTMLDOMAttribute *
attr;
8626 IHTMLDocument5 *doc5;
8649 IHTMLElement_Release(elem2);
8651 hres = IHTMLElement_get_all(
body, &disp);
8654 IDispatch_Release(disp);
8658 hres = IHTMLElement_get_all(
body, &disp);
8661 IDispatch_Release(disp);
8664 IHTMLElement_Release(
elem);
8665 IHTMLDOMNode_Release(
node);
8682 IHTMLDOMNode_Release(
node);
8689 IHTMLDOMNode_Release(
node);
8690 IHTMLDOMNode_Release(node2);
8691 IHTMLDOMNode_Release(node3);
8701 IHTMLDOMNode_Release(
node);
8712 ok(
type == 8,
"type=%d, expected 8\n",
type);
8722 IHTMLDOMNode_Release(
comment);
8726 hres = IHTMLDocument5_createAttribute(doc5,
str, &
attr);
8736 IHTMLDOMAttribute_Release(
attr);
8739 IHTMLDocument5_Release(doc5);
8742 IHTMLElement_Release(
body);
8748 IHTMLDOMNode *
node, *node2, *node3;
8749 IHTMLDOMNode *nodeBody, *nodeNew;
8760 IHTMLDOMNode_Release(
node);
8768 hres = IHTMLDOMNode_replaceChild(nodeBody, node3, node2, &nodeNew);
8773 IHTMLDOMNode_Release(node2);
8774 IHTMLDOMNode_Release(node3);
8775 IHTMLDOMNode_Release(nodeBody);
8777 IHTMLElement_Release(
body);
8782 IHTMLElementCollection *col;
8800 hres = IHTMLDocument2_get_all(doc, &col);
8803 IHTMLElementCollection_Release(col);
8808 IHTMLElement_Release(
body);
8813 IHTMLDocument2 *doc_node;
8814 IHTMLDOMNode *doctype;
8819 IHTMLDocument2_Release(doc_node);
8826 IHTMLDOMNode_Release(doctype);
8836 hres = IHTMLDocument2_write(doc,
NULL);
8838 "Expected IHTMLDocument2::write to return S_OK, got 0x%08x\n",
hres);
8840 hres = IHTMLDocument2_writeln(doc,
NULL);
8842 "Expected IHTMLDocument2::writeln to return S_OK, got 0x%08x\n",
hres);
8847 IHTMLStyleSheet *stylesheet, *stylesheet2;
8848 IHTMLStyleElement *style_elem;
8849 IHTMLElement *doc_elem, *
elem;
8869 test_doc_all(doc, all_types,
sizeof(all_types)/
sizeof(*all_types));
8871 hres = IHTMLDocument2_createStyleSheet(doc,
NULL, -1, &stylesheet);
8874 test_doc_all(doc, all_types2,
sizeof(all_types2)/
sizeof(*all_types2));
8879 IHTMLElement_Release(doc_elem);
8881 hres = IHTMLElement_QueryInterface(
elem, &IID_IHTMLStyleElement, (
void**)&style_elem);
8882 IHTMLElement_Release(
elem);
8883 ok(
hres ==
S_OK,
"Could not get IHTMLStyleElement iface: %08x\n",
hres);
8886 hres = IHTMLStyleElement_get_styleSheet(style_elem, &stylesheet2);
8888 ok(stylesheet2 !=
NULL,
"stylesheet2 == NULL\n");
8891 IHTMLStyleSheet_Release(stylesheet2);
8892 IHTMLStyleSheet_Release(stylesheet);
8894 IHTMLStyleElement_Release(style_elem);
8902 hres = IUnknown_QueryInterface(unk, &IID_IOleCommandTarget, (
void**)&cmdtrg);
8903 ok(
hres ==
S_OK,
"Could not get IOleCommandTarget interface: %08x\n",
hres);
8905 hres = IOleCommandTarget_Exec(cmdtrg, grpid, cmdid, 0,
in,
out);
8908 IOleCommandTarget_Release(cmdtrg);
8913 IHTMLElementCollection *col;
8914 IHTMLTxtRange *
range;
8937 hres = IHTMLDocument2_get_all(doc, &col);
8940 IHTMLElementCollection_Release(col);
8944 IHTMLTxtRange_Release(
range);
8946 hres = IHTMLDocument2_get_all(doc, &col);
8949 IHTMLElementCollection_Release(col);
8954 IHTMLElementCollection *col;
8965 hres = IHTMLDocument2_get_all(doc, &col);
8968 IHTMLElementCollection_Release(col);
8997 IHTMLDocument2 *parent_doc, *top_doc;
8998 IHTMLWindow4 *frame;
8999 IHTMLFrameBase *frame_elem;
9004 hres = IDispatch_QueryInterface(disp, &IID_IHTMLWindow4, (
void**)&frame);
9005 ok(
hres ==
S_OK,
"Could not get IHTMLWindow4 interface: 0x%08x\n",
hres);
9009 hres = IHTMLWindow4_get_frameElement(frame, &frame_elem);
9010 ok(
hres ==
S_OK,
"IHTMLWindow4_get_frameElement failed: 0x%08x\n",
hres);
9011 IHTMLWindow4_Release(frame);
9018 IHTMLFrameBase_Release(frame_elem);
9020 hres = IDispatch_QueryInterface(disp, &IID_IHTMLWindow2, (
void**)&frame2);
9021 ok(
hres ==
S_OK,
"Could not get IHTMLWindow2 interface: 0x%08x\n",
hres);
9025 hres = IHTMLWindow2_get_parent(frame2, &
parent);
9026 ok(
hres ==
S_OK,
"IHTMLWindow2_get_parent failed: 0x%08x\n",
hres);
9028 IHTMLWindow2_Release(frame2);
9032 hres = IHTMLWindow2_QueryInterface(frame2, &IID_IObjectIdentity, (
void**)&obj_ident);
9033 ok(
hres ==
S_OK,
"Could not get IObjectIdentity interface: %08x\n",
hres);
9034 hres = IHTMLWindow2_QueryInterface(frame2, &IID_ITravelLogClient, (
void**)&tlc);
9036 win_skip(
"IID_ITravelLogClient not available\n");
9039 ok(
hres ==
S_OK,
"Could not get ITravelLogClient interface: %08x\n",
hres);
9041 hres = IObjectIdentity_IsEqualObject(obj_ident, (
IUnknown*)tlc);
9043 ITravelLogClient_Release(tlc);
9046 hres = IObjectIdentity_IsEqualObject(obj_ident, (
IUnknown*)obj_ident);
9053 IObjectIdentity_Release(obj_ident);
9055 hres = IHTMLWindow2_get_document(
parent, &parent_doc);
9056 ok(
hres ==
S_OK,
"IHTMLWindow2_get_document failed: 0x%08x\n",
hres);
9057 IHTMLWindow2_Release(
parent);
9059 IHTMLWindow2_Release(frame2);
9064 IHTMLDocument2_Release(parent_doc);
9067 hres = IHTMLWindow2_get_top(frame2, &
top);
9069 IHTMLWindow2_Release(frame2);
9073 hres = IHTMLWindow2_get_document(
top, &top_doc);
9074 ok(
hres ==
S_OK,
"IHTMLWindow2_get_document failed: 0x%08x\n",
hres);
9075 IHTMLWindow2_Release(
top);
9080 IHTMLDocument2_Release(top_doc);
9085 VARIANT index_var, result_var;
9090 hres = IHTMLFramesCollection2_get_length(frames, &
length);
9091 ok(
hres ==
S_OK,
"IHTMLFramesCollection2_get_length failed: 0x%08x\n",
hres);
9092 ok(
length == 3,
"IHTMLFramesCollection2_get_length should have been 3, was: %d\n",
length);
9096 V_I4(&index_var) = 0;
9097 hres = IHTMLFramesCollection2_item(frames, &index_var, &result_var);
9098 ok(
hres ==
S_OK,
"IHTMLFramesCollection2_item failed: 0x%08x\n",
hres);
9100 ok(
V_VT(&result_var) ==
VT_DISPATCH,
"result type should have been VT_DISPATCH, was: 0x%x\n",
V_VT(&result_var));
9106 V_I4(&index_var) = 1;
9107 hres = IHTMLFramesCollection2_item(frames, &index_var, &result_var);
9108 ok(
hres ==
S_OK,
"IHTMLFramesCollection2_item failed: 0x%08x\n",
hres);
9110 ok(
V_VT(&result_var) ==
VT_DISPATCH,
"result type should have been VT_DISPATCH, was: 0x%x\n",
V_VT(&result_var));
9116 V_I4(&index_var) = 3;
9117 hres = IHTMLFramesCollection2_item(frames, &index_var, &result_var);
9119 "failed with DISP_E_MEMBERNOTFOUND, instead: 0x%08x\n",
hres);
9125 hres = IHTMLFramesCollection2_item(frames, &index_var, &result_var);
9126 ok(
hres ==
S_OK,
"IHTMLFramesCollection2_item failed: 0x%08x\n",
hres);
9128 ok(
V_VT(&result_var) ==
VT_DISPATCH,
"result type should have been VT_DISPATCH, was: 0x%x\n",
V_VT(&result_var));
9136 V_BOOL(&index_var) = VARIANT_TRUE;
9137 hres = IHTMLFramesCollection2_item(frames, &index_var, &result_var);
9139 "failed with E_INVALIDARG, instead: 0x%08x\n",
hres);
9146 IHTMLFramesCollection2 *frames;
9154 hres = IHTMLWindow2_get_frames(
window, &frames);
9155 ok(
hres ==
S_OK,
"IHTMLWindow2_get_frames failed: 0x%08x\n",
hres);
9160 IHTMLFramesCollection2_Release(frames);
9162 hres = IHTMLDocument2_get_frames(doc, &frames);
9163 ok(
hres ==
S_OK,
"IHTMLDocument2_get_frames failed: 0x%08x\n",
hres);
9168 IHTMLFramesCollection2_Release(frames);
9183 IHTMLElement_Release(
elem);
9190 IHTMLElement_Release(
elem);
9192 IHTMLWindow2_Release(
window);
9197 IHTMLDocument2 *frag;
9198 IHTMLDocument3 *doc3;
9201 hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument3, (
void**)&doc3);
9202 ok(
hres ==
S_OK,
"Could not get IHTMLDocument3 iface: %08x\n",
hres);
9204 hres = IHTMLDocument3_createDocumentFragment(doc3, &frag);
9205 IHTMLDocument3_Release(doc3);
9207 ok(frag !=
NULL,
"frag == NULL\n");
9214 IHTMLDocument2 *frag, *owner_doc, *doc_node;
9215 IHTMLElement *
div, *
body, *br;
9216 IHTMLElementCollection *col;
9233 body = (
void*)0xdeadbeef;
9234 hres = IHTMLDocument2_get_body(frag, &
body);
9236 ok(!
body,
"body != NULL\n");
9241 ok(
location == (
void*)0xdeadbeef,
"location changed\n");
9247 IHTMLElement_Release(br);
9251 IHTMLElement_Release(
div);
9253 hres = IHTMLDocument2_get_all(doc, &col);
9256 IHTMLElementCollection_Release(col);
9262 IHTMLDocument2_Release(doc_node);
9263 IHTMLDocument2_Release(owner_doc);
9264 IHTMLElement_Release(
div);
9266 IHTMLDocument2_Release(frag);
9285 hres = IHTMLDocument2_get_body(doc, &
elem);
9289 hres = IHTMLElement_get_offsetHeight(
elem, &oh);
9291 todo_wine ok(oh == 500,
"offsetHeight = %d\n", oh);
9292 IHTMLElement_Release(
elem);
9306 ok(0,
"unexpected call\n");
9340 ok(0,
"unexpected call\n");
9360 static const GUID undocumented_frame_iid = {0xfbece6c9,0x48d7,0x4a37,{0x8f,0xe3,0x6a,0xd4,0x27,0x2f,0xdd,0xac}};
9395 LPCBORDERWIDTHS pborderwidths)
9401 LPCBORDERWIDTHS pborderwidths)
9413 LPOLEMENUGROUPWIDTHS lpMenuWidths)
9419 HOLEMENU holemenu,
HWND hwndActiveObject)
9421 ok(0,
"unexpected call\n");
9427 ok(0,
"unexpected call\n");
9443 ok(0,
"unexpected call\n");
9490 ok(0,
"unexpected call\n");
9511 LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
9513 static const RECT rect = {0,0,500,500};
9517 *lprcPosRect =
rect;
9518 *lprcClipRect =
rect;
9520 lpFrameInfo->fMDIApp =
FALSE;
9522 lpFrameInfo->haccel =
NULL;
9523 lpFrameInfo->cAccelEntries = 0;
9595 ok(0,
"unexpected call\n");
9602 ok(0,
"unexpected call\n");
9613 ok(0,
"unexpected call\n");
9619 ok(0,
"unexpected call\n");
9625 ok(0,
"unexpected call\n");
9664 hres = IOleDocumentView_QueryInterface(pViewToActivate, &IID_IOleDocument, (
void**)&document);
9668 IOleDocument_Release(document);
9716 IOleDocumentView_CloseView(
view, 0);
9717 IOleDocumentView_SetInPlaceSite(
view,
NULL);
9718 IOleDocumentView_Release(
view);
9731 hres = IOleObject_QueryInterface(oleobj, &IID_IHlinkTarget, (
void**)&hlink);
9732 ok(
hres ==
S_OK,
"Could not get IHlinkTarget iface: %08x\n",
hres);
9734 hres = IHlinkTarget_Navigate(hlink, 0,
NULL);
9737 IHlinkTarget_Release(hlink);
9740 IOleObject_Release(oleobj);
9747 IHTMLDocument2 *doc;
9764 IPersistStreamInit_Release(
init);
9778 ok(
hres ==
S_OK,
"QueryInterface(IID_IConnectionPointContainer) failed: %08x\n",
hres);
9781 IConnectionPointContainer_Release(
container);
9784 hres = IConnectionPoint_Advise(
cp, unk_advise, &
cookie);
9785 IConnectionPoint_Release(
cp);
9793 IHTMLDocument2 *doc;
9812 ref = IHTMLDocument2_Release(doc);
9844 skip(
"IE running in Enhanced Security Configuration\n");
_STLP_VENDOR_CSTD::ldiv_t div(long __x, long __y)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
static struct sockaddr_in sa
static ULONG WINAPI Unknown_AddRef(IUnknown *iface)
static const IUnknownVtbl UnknownVtbl
static HRESULT WINAPI Unknown_QueryInterface(IUnknown *iface, REFIID riid, LPVOID *ppv)
static ULONG WINAPI Unknown_Release(IUnknown *iface)
static const WCHAR empty[]
#define GetProcAddress(x, y)
#define HeapFree(x, y, z)
#define WideCharToMultiByte
#define MultiByteToWideChar
static HRESULT WINAPI InPlaceSite_Scroll(IOleInPlaceSiteEx *iface, SIZE scrollExtent)
static HRESULT WINAPI ClientSite_RequestNewObjectLayout(IOleClientSite *iface)
static HRESULT WINAPI InPlaceSite_OnPosRectChange(IOleInPlaceSiteEx *iface, LPCRECT lprcPosRect)
static HRESULT WINAPI InPlaceSite_OnUIActivate(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI ClientSite_ShowObject(IOleClientSite *iface)
static ULONG WINAPI ClientSite_AddRef(IOleClientSite *iface)
static HRESULT WINAPI InPlaceSite_DeactivateAndUndo(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI InPlaceSite_GetWindow(IOleInPlaceSiteEx *iface, HWND *phwnd)
static HRESULT WINAPI InPlaceSite_OnUIDeactivate(IOleInPlaceSiteEx *iface, BOOL fUndoable)
static ULONG WINAPI ClientSite_Release(IOleClientSite *iface)
static HRESULT WINAPI InPlaceSite_ContextSensitiveHelp(IOleInPlaceSiteEx *iface, BOOL fEnterMode)
static HRESULT WINAPI InPlaceSite_QueryInterface(IOleInPlaceSiteEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ClientSite_GetMoniker(IOleClientSite *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
static HRESULT WINAPI ClientSite_SaveObject(IOleClientSite *iface)
static HRESULT WINAPI InPlaceSite_OnInPlaceActivate(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI InPlaceSite_GetWindowContext(IOleInPlaceSiteEx *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
static HRESULT WINAPI InPlaceSite_DiscardUndoState(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI ClientSite_QueryInterface(IOleClientSite *iface, REFIID riid, void **ppv)
static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivate(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI ClientSite_OnShowWindow(IOleClientSite *iface, BOOL fShow)
static ULONG WINAPI InPlaceSite_Release(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI ClientSite_GetContainer(IOleClientSite *iface, IOleContainer **ppContainer)
static HRESULT WINAPI InPlaceSite_CanInPlaceActivate(IOleInPlaceSiteEx *iface)
static ULONG WINAPI InPlaceSite_AddRef(IOleInPlaceSiteEx *iface)
static HRESULT WINAPI InPlaceFrame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
static HRESULT WINAPI InPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
static HRESULT WINAPI InPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phwnd)
static HRESULT WINAPI InPlaceFrame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
static ULONG WINAPI InPlaceFrame_Release(IOleInPlaceFrame *iface)
static HRESULT WINAPI InPlaceFrame_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
static HRESULT WINAPI InPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame *iface, BOOL fEnterMode)
static HRESULT WINAPI InPlaceFrame_SetStatusText(IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
static HRESULT WINAPI InPlaceFrame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
static HRESULT WINAPI InPlaceFrame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
static HRESULT WINAPI InPlaceFrame_TranslateAccelerator(IOleInPlaceFrame *iface, LPMSG lpmsg, WORD wID)
static HRESULT WINAPI InPlaceFrame_QueryInterface(IOleInPlaceFrame *iface, REFIID riid, void **ppv)
static ULONG WINAPI InPlaceFrame_AddRef(IOleInPlaceFrame *iface)
static HRESULT WINAPI InPlaceFrame_SetBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
static HRESULT WINAPI InPlaceFrame_RequestBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
HRESULT get_doc_elem_by_id(HTMLDocumentNode *doc, const WCHAR *id, HTMLElement **ret)
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
SAFEARRAY *WINAPI SafeArrayCreate(VARTYPE vt, UINT cDims, SAFEARRAYBOUND *rgsabound)
HRESULT WINAPI ObtainUserAgentString(DWORD dwOption, LPSTR pcszUAOut, DWORD *cbSize)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
INT WSAAPI select(IN INT s, IN OUT LPFD_SET readfds, IN OUT LPFD_SET writefds, IN OUT LPFD_SET exceptfds, IN CONST struct timeval *timeout)
static HRESULT WINAPI PropertyNotifySink_OnChanged(IPropertyNotifySink *iface, DISPID dispID)
static const IPropertyNotifySinkVtbl PropertyNotifySinkVtbl
static ULONG WINAPI PropertyNotifySink_AddRef(IPropertyNotifySink *iface)
static HRESULT WINAPI PropertyNotifySink_OnRequestEdit(IPropertyNotifySink *iface, DISPID dispID)
static ULONG WINAPI PropertyNotifySink_Release(IPropertyNotifySink *iface)
static HRESULT WINAPI PropertyNotifySink_QueryInterface(IPropertyNotifySink *iface, REFIID riid, void **ppv)
static void check_quirks_mode(IHTMLDocument2 *doc)
static void check_strict_mode(IHTMLDocument2 *doc)
static IHTMLTextAreaElement * _get_textarea_iface(unsigned line, IUnknown *unk)
static void _test_body_scroll(unsigned line, IHTMLBodyElement *body, const char *ex)
static void test_create_stylesheet(IHTMLDocument2 *doc)
static void _test_window_name(unsigned line, IHTMLWindow2 *window, const char *exname)
static void _test_input_set_src(unsigned line, IHTMLInputElement *input, const char *src)
#define test_window_length(w, l)
#define test_input_value(o, t)
static IUnknown obj_ident_test
static void _link_put_disabled(unsigned line, IHTMLElement *elem, VARIANT_BOOL v)
#define test_attr_specified(a, b)
static void _test_input_name(unsigned line, IHTMLInputElement *input, const char *exname)
#define test_button_set_disabled(i, b)
static void _test_node_put_value_str(unsigned line, IUnknown *unk, const char *val)
static IHTMLObjectElement * _get_object_iface(unsigned line, IUnknown *unk)
#define test_elem_istextedit(a, b)
#define test_img_put_width(o, w)
static void _test_select_put_selidx(unsigned line, IHTMLSelectElement *select, LONG index)
#define test_elem_collection(c, t, l)
#define range_duplicate(a)
static void _test_input_set_disabled(unsigned line, IHTMLInputElement *input, VARIANT_BOOL b)
#define test_anchor_hostname(a, h)
static void _test_input_defaultValue(unsigned line, IUnknown *unk, const char *exval)
#define test_elem_tabindex(u, i)
static void _test_table_cell_spacing(unsigned line, IHTMLTable *table, const char *exstr)
#define test_select_length(s, l)
static IHTMLWindow2 * _get_doc_window(unsigned line, IHTMLDocument2 *doc)
static void test_dom_implementation(IHTMLDocument2 *doc)
static void _test_object_vspace(unsigned line, IUnknown *unk, LONG exl)
static const IID *const anchor_iids[]
static IHTMLDOMTextNode * _get_text_iface(unsigned line, IUnknown *unk)
#define test_range_set_end_point(a, b, c, d)
static void _test_select_set_name(unsigned line, IHTMLSelectElement *select, const char *text)
static void test_blocked(IHTMLDocument2 *doc, IHTMLElement *outer_elem)
#define test_input_defaultValue(o, t)
static const IID *const form_iids[]
static void _test_anchor_put_rel(unsigned line, IUnknown *unk, const char *exrel)
static void _elem_get_scroll_left(unsigned line, IUnknown *unk)
static void test_attr_collection(IHTMLElement *elem)
static void test_quirks_mode_offsetHeight(IHTMLDocument2 *doc)
#define test_img_set_src(u, s)
static void _test_img_align(unsigned line, IUnknown *unk, const char *align)
#define test_comment_attrs(c)
static const char elem_test2_str[]
#define test_img_alt(u, a)
static void _test_range_inrange(unsigned line, IHTMLTxtRange *range1, IHTMLTxtRange *range2, VARIANT_BOOL exb)
#define test_link_href(a, b)
static void _test_attr_expando(unsigned line, IHTMLDOMAttribute *attr, VARIANT_BOOL expected)
#define get_elem_col_item_idx(a, b)
static void _test_input_set_maxlength(unsigned line, IHTMLInputElement *input, LONG l)
static void _test_elem_id(unsigned line, IUnknown *unk, const char *exid)
static IHTMLElement * _test_elem_get_parent(unsigned line, IUnknown *unk)
static void _test_tr_possess(unsigned line, IHTMLElement *elem, IHTMLTableRow *row, LONG len, const char *id)
static const IID *const object_iids[]
#define elem_get_scroll_top(u)
static const IID *const location_iids[]
static void _test_input_set_name(unsigned line, IHTMLInputElement *input, const char *name)
#define test_form_name(f, a)
static IHTMLDOMNode * _test_node_append_child(unsigned line, IUnknown *node_unk, IUnknown *child_unk)
#define test_form_put_name(f, a)
#define test_option_selected(o, s)
#define test_range_paste_html(a, b)
static const IID *const tr_iids[]
static IHTMLOptionElement * _create_option_elem(unsigned line, IHTMLDocument2 *doc, const char *txt, const char *val)
static void _link_put_rev(unsigned line, IHTMLElement *elem, const char *v)
static void _test_option_put_text(unsigned line, IHTMLOptionElement *option, const char *text)
#define test_node_append_child(n, c)
static void _set_iframe_height(unsigned line, IHTMLElement *elem, const char *val)
#define test_input_set_size(u, s, r)
static void _test_elem_contains(unsigned line, IHTMLElement *elem, IHTMLElement *elem2, VARIANT_BOOL exval)
#define test_node_has_child(u, b)
static LONG _elem_get_scroll_height(unsigned line, IUnknown *unk)
static void _test_link_disabled(unsigned line, IHTMLElement *elem, VARIANT_BOOL v)
static void test_label_elem(IHTMLElement *elem)
static const IID *const none_iids[]
#define test_object_vspace(u, s)
static void _test_option_put_value(unsigned line, IHTMLOptionElement *option, const char *value)
static void _test_elem_all(unsigned line, IUnknown *unk, const elem_type_t *elem_types, LONG exlen)
static void _test_form_length(unsigned line, IUnknown *unk, LONG exlen)
static void _test_anchor_put_name(unsigned line, IUnknown *unk, const char *name)
static LONG _elem_get_scroll_top(unsigned line, IUnknown *unk)
static void _test_input_set_defaultchecked(unsigned line, IHTMLInputElement *input, VARIANT_BOOL b)
#define test_range_parent(r, t)
#define get_frame_content_window(e)
#define test_body_scroll(a, b)
#define test_elem_set_innertext(e, t)
static void test_null_write(IHTMLDocument2 *doc)
static void _test_button_get_disabled(unsigned line, IHTMLElement *elem, VARIANT_BOOL exb)
#define test_img_align(u, a)
static void test_frame_doc(IUnknown *frame_elem, BOOL iframe)
#define test_elem_attr(e, n, v)
#define test_attr_expando(a, b)
#define test_input_put_defaultValue(o, v)
#define test_node_get_value_str(u, e)
static void test_xmlhttprequest(IHTMLWindow5 *window)
static const IID *const table_iids[]
static void test_doctype(IHTMLDocument2 *doc)
static void _test_input_get_defaultchecked(unsigned line, IHTMLInputElement *input, VARIANT_BOOL exb)
#define test_input_readOnly(u, b)
#define test_input_set_defaultchecked(i, b)
static void _link_put_href(unsigned line, IHTMLElement *elem, const char *v)
static void _test_meta_name(unsigned line, IUnknown *unk, const char *exname)
static void test_elems(IHTMLDocument2 *doc)
static void _test_range_paste_html(unsigned line, IHTMLTxtRange *range, const char *html)
#define test_option_put_defaultSelected(o, d)
#define test_input_get_disabled(i, b)
static const IID *const cstyle_iids[]
#define test_img_name(u, c)
#define elem_get_scroll_height(u)
#define test_comment_text(c, t)
static void _test_window_length(unsigned line, IHTMLWindow2 *window, LONG exlen)
static const char range_test2_str[]
static const IID *const select_iids[]
static void test_option_form(IUnknown *uoption, IUnknown *uform)
#define test_textarea_defaultvalue(t, v)
#define test_elem3_get_disabled(i, b)
static void _test_select_multiple(unsigned line, IHTMLSelectElement *select, VARIANT_BOOL exmultiple)
#define get_htmldoc5_iface(u)
static IHTMLLabelElement * _get_label_iface(unsigned line, IUnknown *unk)
#define test_img_complete(a, b)
static void doc_write(IHTMLDocument2 *doc, BOOL ln, const char *text)
static void _test_ifaces(unsigned line, IUnknown *iface, REFIID *iids)
#define test_range_expand(r, u, b, t)
static void _test_img_src(unsigned line, IUnknown *unk, const char *exsrc, const char *broken_src)
static IHTMLDOMAttribute * _get_elem_attr_node(unsigned line, IUnknown *unk, const char *attr_name, BOOL expect_success)
static void _test_style_put_type(unsigned line, IUnknown *unk, const char *type)
static void test_tr_modify(IHTMLElement *elem, IHTMLTableRow *row)
static void _set_dispex_value(unsigned line, IUnknown *unk, const char *name, VARIANT *val)
static IHTMLDOMChildrenCollection * _get_child_nodes(unsigned line, IUnknown *unk)
#define test_script_text(a, b)
static IHTMLDocument2 * _get_elem_doc(unsigned line, IUnknown *unk)
static void test_select_remove(IHTMLSelectElement *select)
static void test_quirks_mode(void)
#define test_node_name(u, n)
#define set_framebase_marginheight(a, b)
static void _test_form_encoding(unsigned line, IUnknown *unk, const char *ex)
static void _test_elem_innerhtml(unsigned line, IUnknown *unk, const char *inner_html)
#define test_link_rel(a, b)
static void test_noscript(IHTMLDocument2 *doc)
static const IID *const generic_iids[]
#define get_elem_iface(u)
#define test_elem_all(c, t, l)
#define test_input_name(u, c)
static void _test_range_isequal(unsigned line, IHTMLTxtRange *range1, IHTMLTxtRange *range2, VARIANT_BOOL exb)
static void _test_form_action(unsigned line, IUnknown *unk, const char *ex)
#define test_window_name(d, e)
static void test_elem_names(IHTMLDocument2 *doc)
static IHTMLDOMNode2 * _get_node2_iface(unsigned line, IUnknown *unk)
#define test_meta_httpequiv(a, b)
static const IID *const td_iids[]
#define put_attr_node_value(a, b)
static BOOL iface_cmp(IUnknown *iface1, IUnknown *iface2)
#define test_doc_all(a, b, c)
#define test_option_put_value(o, t)
static IHTMLElement * _get_doc_elem(unsigned line, IHTMLDocument2 *doc)
static void _test_form_elements(unsigned line, IUnknown *unk)
static const char doctype_str[]
static void _test_form_name(unsigned line, IUnknown *unk, const char *ex)
static void test_default_body(IHTMLBodyElement *body)
static void test_exec(IUnknown *unk, const GUID *grpid, DWORD cmdid, VARIANT *in, VARIANT *out)
#define test_textarea_put_readonly(t, v)
#define test_range_text(r, t)
#define test_form_encoding(f, a)
#define test_link_disabled(a, b)
#define test_elem_set_innerhtml(e, t)
static void test_history(IHTMLWindow2 *window)
static WCHAR characterW[]
static void _test_disp2(unsigned line, IUnknown *unk, const IID *diid, const IID *diid2, const char *val)
static IHTMLFormElement * _get_form_iface(unsigned line, IUnknown *unk)
static const IID *const window_iids[]
#define test_elem_class(u, c)
static IDispatchEx * _get_dispex_iface(unsigned line, IUnknown *unk)
static void _test_select_get_disabled(unsigned line, IHTMLSelectElement *select, VARIANT_BOOL exb)
#define test_anchor_put_name(a, h)
#define test_node_remove_child(n, c)
static void _test_style_media(unsigned line, IUnknown *unk, const char *exmedia)
#define set_text_data(a, b)
static void _test_option_defaultSelected(unsigned line, IHTMLOptionElement *option, VARIANT_BOOL ex)
#define test_node_get_parent(u)
#define test_tr_possess(e, r, l, i)
#define test_window_status(d)
static const IID *const body_iids[]
static void _test_class_info(unsigned line, IUnknown *unk)
#define test_elem_id(e, i)
static void _test_input_put_value(unsigned line, IUnknown *unk, const char *val)
static void _test_input_get_disabled(unsigned line, IHTMLInputElement *input, VARIANT_BOOL exb)
static IHTMLStyleElement * _get_style_iface(unsigned line, IUnknown *unk)
static void test_tr_elem(IHTMLElement *elem)
static void _test_select_value(unsigned line, IHTMLSelectElement *select, const char *exval)
static void _test_input_readOnly(unsigned line, IHTMLInputElement *input, VARIANT_BOOL v)
static void _test_form_put_name(unsigned line, IUnknown *unk, const char *name)
static void _test_textarea_readonly(unsigned line, IUnknown *unk, VARIANT_BOOL ex)
static void test_get_set_attr(IHTMLDocument2 *doc)
static void _test_stylesheet_csstext(unsigned line, IHTMLStyleSheet *stylesheet, const char *exstr, BOOL is_todo)
static void _set_iframe_width(unsigned line, IHTMLElement *elem, const char *val)
static void _set_framebase_marginheight(unsigned line, IHTMLFrameBase *framebase, const char *val)
static void test_select_form_notfound(IHTMLSelectElement *select)
static void _test_input_get_form(unsigned line, IUnknown *unk, const char *id)
static void test_txtrange2(IHTMLDocument2 *doc)
static IHTMLDocument5 * _get_htmldoc5_iface(unsigned line, IUnknown *unk)
#define test_input_maxlength(i, b)
#define get_child_item(c, i)
#define get_label_iface(u)
static void _test_elem_set_outerhtml(unsigned line, IUnknown *unk, const char *outer_html)
#define test_link_media(a, b)
static void _test_disp(unsigned line, IUnknown *unk, const IID *diid, const char *val)
static void test_elems2(IHTMLDocument2 *doc)
#define create_img_elem(d, t, v)
static void test_form_target(IUnknown *unk)
static void test_td_elem(IHTMLElement *elem)
static IHTMLOptionElement * _get_option_iface(unsigned line, IUnknown *unk)
static void _test_img_isMap(unsigned line, IUnknown *unk, VARIANT_BOOL v)
#define test_input_set_disabled(i, b)
#define get_doc_window(d)
#define test_elem_title(u, t)
#define test_range_collapse(r, b)
#define test_elem_get_parent(u)
static void _test_no_iface(unsigned line, IUnknown *iface, REFIID iid)
static void _test_comment_text(unsigned line, IUnknown *unk, const char *extext)
static const char range_test_str[]
static void test_framebase(IUnknown *unk)
void(* domtest_t)(IHTMLDocument2 *)
static void _test_elem_outerhtml(unsigned line, IUnknown *unk, const char *outer_html)
static void _test_iframe_height(unsigned line, IHTMLElement *elem, const char *exval)
static void _test_elem_set_innerhtml(unsigned line, IUnknown *unk, const char *inner_html)
#define test_elem_set_class(u, c)
#define get_elem3_iface(u)
#define test_language_string(a, b)
static void _test_img_width(unsigned line, IHTMLImgElement *img, const LONG exp)
#define test_form_elements(a)
#define test_form_reset(a)
#define test_range_movestart(r, u, c, e)
static void test_select_form(IUnknown *uselect, IUnknown *uform)
static IHTMLMetaElement * _get_metaelem_iface(unsigned line, IUnknown *unk)
static void _link_put_type(unsigned line, IHTMLElement *elem, const char *v)
static IHTMLIFrameElement2 * _get_iframe2_iface(unsigned line, IUnknown *unk)
static void _test_img_put_width(unsigned line, IHTMLImgElement *img, const LONG width)
static IHTMLDocument2 * _get_owner_doc(unsigned line, IUnknown *unk)
static void _test_range_put_text(unsigned line, IHTMLTxtRange *range, const char *text)
static const IID *const img_factory_iids[]
#define test_anchor_put_target(a, h)
static void _test_textarea_put_defaultvalue(unsigned line, IUnknown *unk, const char *value)
static IHTMLDOMNode * _test_node_get_parent(unsigned line, IUnknown *unk)
static void _test_img_complete(unsigned line, IHTMLElement *elem, VARIANT_BOOL exb)
static void _test_elem3_get_disabled(unsigned line, IUnknown *unk, VARIANT_BOOL exb)
#define set_object_name(a, b)
static void test_defaults(IHTMLDocument2 *doc)
static void test_stylesheet(IDispatch *disp)
static const char elem_test_str[]
#define test_link_type(a, b)
static void test_create_option_elem(IHTMLDocument2 *doc)
static void _test_elem_offset(unsigned line, IUnknown *unk, const char *parent_tag)
static void _test_doc_title(unsigned line, IHTMLDocument2 *doc, const char *extitle)
#define test_img_src(a, b, c)
static void _test_form_method(unsigned line, IUnknown *unk, const char *ex)
static IHTMLElement * _get_elem_iface(unsigned line, IUnknown *unk)
static void _test_textarea_put_value(unsigned line, IUnknown *unk, const char *value)
static void _test_anchor_get_target(unsigned line, IUnknown *unk, const char *target)
static void _set_elem_dir(unsigned line, IUnknown *unk, const char *dira)
static void test_docfrag(IHTMLDocument2 *doc)
static const IID *const label_iids[]
static void test_attr(IHTMLElement *elem)
#define test_select_put_length(s, l)
static void _test_elem_collection(unsigned line, IUnknown *unk, const elem_type_t *elem_types, LONG exlen)
static IHTMLElement * get_elem_by_id(IHTMLDocument2 *doc, const char *id, BOOL expect_success)
#define test_elem_tag(u, n)
static const elem_type_info_t elem_type_infos[]
static void _test_input_maxlength(unsigned line, IHTMLInputElement *input, LONG exl)
static void _set_window_status(unsigned line, IHTMLWindow2 *window, const char *status)
static void _test_anchor_put_target(unsigned line, IUnknown *unk, const char *target)
#define test_option_defaultSelected(o, e)
#define test_select_size(s, v)
#define test_elem3_set_disabled(i, b)
#define test_iframe_height(a, b)
static void test_default_selection(IHTMLDocument2 *doc)
static void _test_elem_client_size(unsigned line, IUnknown *unk)
#define test_attr_value(a, b)
#define test_anchor_get_target(a, h)
#define test_table_cell_spacing(a, b)
static BSTR a2bstr(const char *str)
static void _test_option_text(unsigned line, IHTMLOptionElement *option, const char *text)
static void _test_framebase_marginheight(unsigned line, IHTMLFrameBase *framebase, const char *exval)
static void _test_range_move(unsigned line, IHTMLTxtRange *range, LPWSTR unit, LONG cnt, LONG excnt)
static void _test_img_height(unsigned line, IHTMLImgElement *img, const LONG exp)
#define test_form_method(f, a)
static const IID *const iframe_iids[]
static IHTMLDOMTextNode2 * _get_text2_iface(unsigned line, IUnknown *unk)
#define test_input_get_size(u, s)
#define set_button_name(a, b)
#define test_framebase_marginwidth(a, b)
#define test_form_action(f, a)
static const char noscript_str[]
static void _test_input_set_checked(unsigned line, IHTMLInputElement *input, VARIANT_BOOL b)
static void _test_select_put_length(unsigned line, IUnknown *unk, LONG length)
static void _test_option_selected(unsigned line, IHTMLOptionElement *option, VARIANT_BOOL ex)
static const IID *const selection_iids[]
#define text_append_data(a, b)
static void _test_meta_httpequiv(unsigned line, IUnknown *unk, const char *exval)
static void _test_anchor_hostname(unsigned line, IUnknown *unk, const char *hostname)
static void _test_textarea_put_readonly(unsigned line, IUnknown *unk, VARIANT_BOOL b)
static void _test_link_rel(unsigned line, IHTMLElement *elem, const char *v)
static int strcmp_wa(LPCWSTR strw, const char *stra)
static void doc_complex_write(IHTMLDocument2 *doc)
#define test_form_put_encoding(f, r, a)
#define test_framebase_marginheight(a, b)
#define test_anchor_href(a, h)
static void _test_anchor_search(unsigned line, IUnknown *elem, const char *search, BOOL allowbroken)
#define test_input_set_name(u, c)
static void _test_select_name(unsigned line, IHTMLSelectElement *select, const char *extext)
#define test_elem_client_size(u)
static void _test_elem_innertext(unsigned line, IHTMLElement *elem, const char *extext)
static void _test_select_set_disabled(unsigned line, IHTMLSelectElement *select, VARIANT_BOOL b)
#define test_option_get_index(o, s)
static void _test_disp_value(unsigned line, IUnknown *unk, const char *val)
static LONG _get_node_type(unsigned line, IUnknown *unk)
static void _get_attr_node_value(unsigned line, IHTMLDOMAttribute *attr, VARIANT *v, VARTYPE vt)
static void _test_range_set_end_point(unsigned line, IHTMLTxtRange *range, const char *how, IHTMLTxtRange *ref_range, HRESULT exhres)
#define test_elem_dir(u, n)
static void test_screen(IHTMLWindow2 *window)
static const IID *const meta_iids[]
#define test_elem_client_rect(u)
static IHTMLDOMNode * _test_create_text(unsigned line, IHTMLDocument2 *doc, const char *text)
static void _test_select_set_value(unsigned line, IHTMLSelectElement *select, const char *val)
static IHTMLDOMNode * _node_get_prev(unsigned line, IUnknown *unk)
static const IID *const doc_obj_iids[]
static void _test_input_get_checked(unsigned line, IHTMLInputElement *input, VARIANT_BOOL exb)
static void test_frameset(IHTMLDocument2 *doc)
#define link_put_rev(a, b)
static IHTMLDocument2 * create_docfrag(IHTMLDocument2 *doc)
static void _test_form_reset(unsigned line, IUnknown *unk)
#define test_elem_innertext(e, t)
static void _test_framebase_src(unsigned line, IHTMLElement *elem, const char *src)
static void _test_option_value(unsigned line, IHTMLOptionElement *option, const char *value)
#define set_iframe_width(a, b)
#define test_anchor_hash(a, h)
#define test_iframe_width(a, b)
static IHTMLDocument2 * create_document(void)
#define test_style_media(s, m)
#define test_range_move(r, u, c, e)
#define set_elem_language(e, i)
#define test_select_selidx(s, i)
#define test_select_set_disabled(i, b)
static void _test_anchor_rel(unsigned line, IUnknown *unk, const char *exrel)
static void _test_meta_charset(unsigned line, IUnknown *unk, const char *exval)
#define set_dispex_value(a, b, c)
static void test_frame(IDispatch *disp, const char *exp_id)
static const IID *const doc_node_iids[]
#define create_option_elem(d, t, v)
static void _set_window_name(unsigned line, IHTMLWindow2 *window, const char *name)
static void _test_input_put_defaultValue(unsigned line, IUnknown *unk, const char *val)
#define get_window_doc(e)
static void test_child_col_disp(IHTMLDOMChildrenCollection *col)
static void _test_script_text(unsigned line, IHTMLScriptElement *script, const char *extext)
static void test_frames_collection(IHTMLFramesCollection2 *frames, const char *frid)
static void _test_elem_client_rect(unsigned line, IUnknown *unk)
#define test_input_get_form(o, t)
static void test_elem_col_item(IHTMLElementCollection *col, const char *n, const elem_type_t *elem_types, LONG len)
#define test_input_get_defaultchecked(i, b)
#define test_doc_set_title(d, t)
#define test_select_value(s, v)
static const IID *const input_iids[]
static void _test_object_name(unsigned line, IHTMLElement *elem, const char *exname)
#define test_anchor_put_rel(a, h)
#define test_select_set_multiple(s, v)
#define test_input_set_checked(i, b)
static void _test_select_set_multiple(unsigned line, IHTMLSelectElement *select, VARIANT_BOOL val)
static void _link_put_rel(unsigned line, IHTMLElement *elem, const char *v)
#define test_elem_contains(a, b, c)
#define test_meta_content(a, b)
#define test_framebase_name(a, b)
#define set_framebase_marginwidth(a, b)
#define test_table_cell_padding(a, b)
static const IID *const button_iids[]
static void test_body_funs(IHTMLBodyElement *body)
static LONG _elem_get_scroll_width(unsigned line, IUnknown *unk)
#define test_elem_offset(a, b)
#define get_textarea_form(t)
static const char doc_str1[]
static void _test_input_type(unsigned line, IHTMLInputElement *input, const char *extype)
static void _test_input_src(unsigned line, IHTMLInputElement *input, const char *exsrc)
static void test_txtrange(IHTMLDocument2 *doc)
#define test_elem_set_outerhtml(e, t)
#define test_anchor_name(a, h)
static void _test_textarea_type(unsigned line, IUnknown *unk)
static void run_domtest(const char *str, domtest_t test)
#define test_style_put_type(s, m)
#define test_input_set_src(u, s)
static void _test_anchor_put_href(unsigned line, IUnknown *unk, const char *exhref)
static const IID *const title_iids[]
#define test_class_info(u)
static void test_create_img_elem(IHTMLDocument2 *doc)
#define link_put_href(a, b)
static void _test_img_put_height(unsigned line, IHTMLImgElement *img, const LONG height)
static void _test_select_set_size(unsigned line, IHTMLSelectElement *select, LONG val, HRESULT exhres)
static void _put_attr_node_value(unsigned line, IHTMLDOMAttribute *attr, VARIANT v)
static void _test_anchor_put_search(unsigned line, IUnknown *unk, const char *search)
#define test_img_set_alt(u, a)
#define test_framebase_src(a, b)
#define get_option_iface(u)
static const IID *const embed_iids[]
static void _test_elem_istextedit(unsigned line, IHTMLElement *elem, VARIANT_BOOL exval)
#define test_input_put_value(o, v)
#define test_anchor_rel(a, h)
#define test_input_get_checked(i, b)
static const IID *const attr_iids[]
#define test_anchor_put_href(a, h)
static void _test_range_collapse(unsigned line, IHTMLTxtRange *range, BOOL b)
static void test_insert_adjacent_elems(IHTMLDocument2 *doc, IHTMLElement *parent)
#define test_elem_getelembytag(a, b, c, d)
static void _test_elem_tag(unsigned line, IUnknown *unk, const char *extag)
static void test_enum_children(IUnknown *unk, unsigned len)
#define test_elem_innerhtml(e, t)
static void test_dynamic_properties(IHTMLElement *elem)
static void _insert_adjacent_elem(unsigned line, IHTMLElement *parent, const char *where, IHTMLElement *elem)
static IHTMLWindow2 * _get_frame_content_window(unsigned line, IUnknown *elem)
#define test_elem_set_title(u, t)
static IHTMLImgElement * _get_img_iface(unsigned line, IUnknown *unk)
static void _test_option_put_selected(unsigned line, IHTMLOptionElement *option, VARIANT_BOOL b)
#define test_framebase_put_name(a, b)
static void _test_range_parent(unsigned line, IHTMLTxtRange *range, elem_type_t type)
#define test_range_inrange(r1, r2, b)
#define test_disp(u, id, v)
#define test_elem_type(ifc, t)
static void _set_stylesheet_csstext(unsigned line, IHTMLStyleSheet *stylesheet, const char *csstext, BOOL is_todo)
#define test_elem_source_index(a, b)
static void _test_elem_class(unsigned line, IUnknown *unk, const char *exclass)
#define set_meta_charset(a, b)
#define test_anchor_put_search(a, h)
#define test_disp2(u, id, id2, v)
#define test_input_type(i, t)
static void _test_input_value(unsigned line, IUnknown *unk, const char *exval)
static void _test_meta_content(unsigned line, IUnknown *unk, const char *excontent)
#define test_select_set_name(s, v)
static void _test_style_put_media(unsigned line, IUnknown *unk, const char *media)
static void test_attr_collection_disp(IDispatch *disp)
#define test_text_length(u, l)
#define test_select_get_disabled(i, b)
static const char indent_test_str[]
static void test_stylesheets(IHTMLDocument2 *doc)
static const IID *const option_iids[]
static void _test_table_length(unsigned line, IHTMLTable *table, LONG expect)
static const char doc_blank[]
#define test_form_put_method(f, r, a)
#define test_style_type(s, m)
static void test_table_elem(IHTMLElement *elem)
static void _test_textarea_value(unsigned line, IUnknown *unk, const char *exval)
#define test_textarea_value(t, v)
static void _test_doc_all(unsigned line, IHTMLDocument2 *doc, const elem_type_t *elem_types, LONG exlen)
static void _test_framebase_put_name(unsigned line, IHTMLElement *elem, const char *name)
static void _test_form_put_action(unsigned line, IUnknown *unk, const char *action)
#define test_textarea_put_value(t, v)
static const IID *const elem_iids[]
#define test_select_set_size(s, v, e)
#define test_anchor_search(a, h, n)
static void _test_button_set_disabled(unsigned line, IHTMLElement *elem, VARIANT_BOOL b)
static IHTMLLinkElement * _get_link_iface(unsigned line, IUnknown *unk)
static void _test_table_cell_padding(unsigned line, IHTMLTable *table, const char *exstr)
static void _test_range_text(unsigned line, IHTMLTxtRange *range, const char *extext)
static void _test_elem_language(unsigned line, IHTMLElement *elem, const char *exlang)
#define test_img_put_height(o, w)
#define test_elem_outerhtml(e, t)
#define test_input_set_maxlength(i, b)
#define link_put_type(a, b)
static void _test_elem_attr(unsigned line, IHTMLElement *elem, const char *name, const char *exval)
#define test_link_rev(a, b)
#define insert_adjacent_elem(a, b, c)
static const char * debugstr_variant(const VARIANT *var)
static void _test_window_status(unsigned line, IHTMLWindow2 *window)
static IHTMLDOMAttribute2 * _get_attr2_iface(unsigned line, IUnknown *unk)
static BOOL _test_get_dispid(unsigned line, IUnknown *unk, IID *iid)
#define test_form_put_action(f, a)
#define test_ifaces(i, ids)
static const IID *const frame_iids[]
#define test_textarea_put_defaultvalue(t, v)
static void _test_elem_type(unsigned line, IUnknown *unk, elem_type_t type)
#define elem_get_scroll_left(u)
static void _test_select_type(unsigned line, IHTMLSelectElement *select, const char *extype)
static IHTMLDOMNode * _get_first_child(unsigned line, IUnknown *unk)
#define elem_get_scroll_width(u)
static IHTMLDOMNode * _get_child_item(unsigned line, IHTMLDOMChildrenCollection *col, LONG idx)
static void _test_input_get_size(unsigned line, IHTMLInputElement *input, LONG exsize)
#define get_select_iface(u)
static void _test_elem_dir(unsigned line, IUnknown *unk, const char *exdir)
#define test_select_set_value(s, v)
static void _test_elem_title(unsigned line, IUnknown *unk, const char *extitle)
static void _test_node_get_value_str(unsigned line, IUnknown *unk, const char *exval)
static IHTMLElement * _get_elem_col_item_idx(unsigned line, IHTMLElementCollection *col, int i)
static void _test_framebase_name(unsigned line, IHTMLElement *elem, const char *name)
static void test_elem_bounding_client_rect(IUnknown *unk)
static void _test_elem_set_tabindex(unsigned line, IUnknown *unk, short index)
static IHTMLElement * _test_create_elem(unsigned line, IHTMLDocument2 *doc, const char *tag)
static void _test_node_has_child(unsigned line, IUnknown *unk, VARIANT_BOOL exb)
#define set_iframe_height(a, b)
static void _test_img_name(unsigned line, IUnknown *unk, const char *pValue)
#define get_node_iface(u)
#define test_img_isMap(u, c)
static IHTMLDOMNode * _node_get_next(unsigned line, IUnknown *unk)
static void _test_language_string(unsigned line, const WCHAR *lang, LCID lcid)
#define test_select_type(s, t)
static void _test_elem_set_title(unsigned line, IUnknown *unk, const char *title)
static void _test_textarea_defaultvalue(unsigned line, IUnknown *unk, const char *exval)
static void test_create_elems(IHTMLDocument2 *doc)
static IHTMLDocument2 * create_doc_with_string(const char *str)
#define set_stylesheet_csstext(a, b, c)
static void test_button_elem(IHTMLElement *elem)
static IHTMLDocument2 * _get_window_doc(unsigned line, IHTMLWindow2 *window)
static IHTMLDOMNode * _test_node_insertbefore(unsigned line, IUnknown *node_unk, IHTMLDOMNode *child, VARIANT *var)
#define test_node_put_value_str(u, v)
#define get_form_iface(u)
static void test_plugins_col(IHTMLDocument2 *doc)
static void _test_form_put_encoding(unsigned line, IUnknown *unk, HRESULT exp_hres, const char *encoding)
#define get_elem2_iface(u)
static void test_form_item(IHTMLElement *elem)
#define test_textarea_readonly(t, v)
static void _test_option_get_index(unsigned line, IHTMLOptionElement *option, LONG exval)
static void _test_elem3_set_disabled(unsigned line, IUnknown *unk, VARIANT_BOOL b)
#define test_option_put_text(o, t)
#define test_doc_title(d, t)
static void _test_range_movestart(unsigned line, IHTMLTxtRange *range, LPWSTR unit, LONG cnt, LONG excnt)
static void _set_text_data(unsigned line, IUnknown *unk, const char *data)
#define test_option_put_selected(o, s)
#define test_input_src(i, s)
#define test_range_isequal(r1, r2, b)
static void _test_option_put_defaultSelected(unsigned line, IHTMLOptionElement *option, VARIANT_BOOL b)
#define set_window_status(w, n)
#define get_attr_node_value(a, b, c)
static void _set_body_scroll(unsigned line, IHTMLBodyElement *body, const char *val)
#define test_range_put_text(r, t)
static void _test_anchor_hash(unsigned line, IHTMLElement *elem, const char *exhash)
static void _test_node_remove_child(unsigned line, IUnknown *unk, IHTMLDOMNode *child)
#define test_elem_put_id(u, i)
static void test_mime_types_col(IOmNavigator *nav)
static IHTMLElement4 * _get_elem4_iface(unsigned line, IUnknown *unk)
#define link_put_rel(a, b)
static void _test_attr_value(unsigned line, IHTMLDOMAttribute *attr, const char *exval)
static void test_replacechild_elems(IHTMLDocument2 *doc)
#define get_elem_attr_node(a, b, c)
static void _test_anchor_href(unsigned line, IUnknown *unk, const char *exhref)
static void _text_append_data(unsigned line, IUnknown *unk, const char *data)
static void test_cond_comment(IHTMLDocument2 *doc)
static const IID *const comment_iids[]
static IHTMLTxtRange * test_create_body_range(IHTMLDocument2 *doc)
static IHTMLDOMNode * _clone_node(unsigned line, IUnknown *unk, VARIANT_BOOL deep)
static void _test_elem_filters(unsigned line, IUnknown *unk)
static void test_contenteditable(IUnknown *unk)
static void _test_attr_specified(unsigned line, IHTMLDOMAttribute *attr, VARIANT_BOOL expected)
static void _set_object_name(unsigned line, IHTMLElement *elem, const char *name)
static IHTMLAnchorElement * _get_anchor_iface(unsigned line, IUnknown *unk)
#define test_style_put_media(s, m)
#define test_select_name(s, v)
static void _test_range_expand(unsigned line, IHTMLTxtRange *range, LPWSTR unit, VARIANT_BOOL exb, const char *extext)
#define set_window_name(w, n)
#define test_create_elem(d, t)
#define test_select_put_selidx(s, i)
static IHTMLElement * _doc_get_body(unsigned line, IHTMLDocument2 *doc)
static const char frameset_str[]
#define doc_get_elems_by_name(a, b)
static void test_iframe_elem(IHTMLElement *elem)
#define test_elem_set_tabindex(u, i)
#define test_meta_charset(a, b)
static const IID *const textarea_iids[]
static void _test_range_moveend(unsigned line, IHTMLTxtRange *range, LPWSTR unit, LONG cnt, LONG excnt)
static void _test_elem_tabindex(unsigned line, IUnknown *unk, short exindex)
#define test_button_name(a, b)
static void test_navigator(IHTMLDocument2 *doc)
static void _set_framebase_marginwidth(unsigned line, IHTMLFrameBase *framebase, const char *val)
#define set_elem_dir(u, n)
static IHTMLDocument3 * _get_doc3_iface(unsigned line, IHTMLDocument2 *doc)
static IHTMLImgElement * _create_img_elem(unsigned line, IHTMLDocument2 *doc, LONG wdth, LONG hght)
static IHTMLDocument2 * _get_doc_node(unsigned line, IHTMLDocument2 *doc)
#define test_elem_filters(u)
static void _test_style_type(unsigned line, IUnknown *unk, const char *extype)
static void _test_select_selidx(unsigned line, IHTMLSelectElement *select, LONG index)
#define test_meta_name(a, b)
static IHTMLDOMNode * _get_node_iface(unsigned line, IUnknown *unk)
#define test_compatmode(a, b)
#define test_elem_language(e, i)
static void _test_elem_set_class(unsigned line, IUnknown *unk, const char *class)
static const IID *const img_iids[]
#define test_no_iface(a, b)
static void _test_doc_set_title(unsigned line, IHTMLDocument2 *doc, const char *title)
static void _test_text_length(unsigned line, IUnknown *unk, LONG l)
#define test_select_multiple(s, t)
static void test_location(IHTMLDocument2 *doc)
static void _test_attr_node_name(unsigned line, IHTMLDOMAttribute *attr, const char *exname)
static void _test_anchor_name(unsigned line, IUnknown *unk, const char *name)
static void _test_button_name(unsigned line, IHTMLElement *elem, const char *exname)
static void _test_framebase_marginwidth(unsigned line, IHTMLFrameBase *framebase, const char *exval)
static void _test_compatmode(unsigned line, IHTMLDocument2 *doc2, const char *excompat)
#define get_child_nodes(u)
static IHTMLElement2 * _get_elem2_iface(unsigned line, IUnknown *unk)
static void _test_elem_getelembytag(unsigned line, IUnknown *unk, elem_type_t type, LONG exlen, IHTMLElement **ret)
#define link_put_disabled(a, b)
#define test_text_data(a, b)
static void test_window(IHTMLDocument2 *doc)
static void _test_link_type(unsigned line, IHTMLElement *elem, const char *v)
static const IID *const style_iids[]
#define test_range_moveend(r, u, c, e)
#define test_button_get_disabled(i, b)
#define get_first_child(n)
static void _test_select_length(unsigned line, IHTMLSelectElement *select, LONG length)
#define test_create_text(d, t)
static IHTMLFormElement * _get_textarea_form(unsigned line, IUnknown *unk)
#define test_node_insertbefore(n, c, v)
static IHTMLSelectElement * _get_select_iface(unsigned line, IUnknown *unk)
static void _test_form_put_method(unsigned line, IUnknown *unk, HRESULT exp_hres, const char *method)
#define test_form_length(e, l)
static void _set_elem_language(unsigned line, IHTMLElement *elem, const char *lang)
static void _test_link_href(unsigned line, IHTMLElement *elem, const char *v)
static void test_select_elem(IHTMLSelectElement *select)
static IHTMLElement3 * _get_elem3_iface(unsigned line, IUnknown *unk)
static void test_option_defaultSelected_property(IHTMLOptionElement *option)
#define test_table_length(t, l)
static void test_indent(IHTMLDocument2 *doc)
static void _test_link_media(unsigned line, IHTMLElement *elem, const char *exval)
static void _test_elem_source_index(unsigned line, IHTMLElement *elem, int index)
static void _test_node_name(unsigned line, IUnknown *unk, const char *exname)
static void _set_meta_charset(unsigned line, IUnknown *unk, const char *vala)
static void _test_elem_put_id(unsigned line, IUnknown *unk, const char *new_id)
static const IID *const head_iids[]
static const IID *const script_iids[]
static void _test_link_rev(unsigned line, IHTMLElement *elem, const char *v)
static void _test_comment_attrs(unsigned line, IUnknown *unk)
static void _test_img_set_alt(unsigned line, IUnknown *unk, const char *alt)
static IHTMLCommentElement * _get_comment_iface(unsigned line, IUnknown *unk)
#define set_body_scroll(a, b)
#define test_stylesheet_csstext(a, b, c)
static void test_table_modify(IHTMLTable *table)
#define test_textarea_type(t)
static void _test_select_size(unsigned line, IHTMLSelectElement *select, LONG exval)
static void _test_img_alt(unsigned line, IUnknown *unk, const char *exalt)
static BOOL is_prefix_wa(const WCHAR *strw, const char *prefix)
static void test_doc_elem(IHTMLDocument2 *doc)
static const IID *const text_iids[]
static IHTMLButtonElement * _get_button_iface(unsigned line, IUnknown *unk)
static void _test_elem_set_innertext(unsigned line, IHTMLElement *elem, const char *text)
static const char cond_comment_str[]
static void _test_img_set_src(unsigned line, IUnknown *unk, const char *src)
static const char emptydiv_str[]
static void _set_button_name(unsigned line, IHTMLElement *elem, const char *name)
static IHTMLTxtRange * _range_duplicate(unsigned line, IHTMLTxtRange *range)
static IHTMLElementCollection * _doc_get_elems_by_name(unsigned line, IHTMLDocument2 *doc, const char *name)
static void _test_text_data(unsigned line, IUnknown *unk, const char *exdata)
static const IID *const styleelem_iids[]
static void _test_iframe_width(unsigned line, IHTMLElement *elem, const char *exval)
static const IID *const link_iids[]
static void _test_input_set_size(unsigned line, IHTMLInputElement *input, LONG size, HRESULT exret)
#define test_attr_node_name(a, b)
int align(int length, int align)
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLenum GLenum GLenum input
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
#define DISPID_READYSTATE
static const WCHAR testW[]
#define location(file, line)
int WINAPI lstrlenA(LPCSTR lpString)
#define memcpy(s1, s2, n)
static int strcmp_wa(LPCWSTR strw, const char *stra)
#define sprintf(buf, format,...)
#define comment(fmt, arg1)
static const WCHAR label[]
#define test_object_name(a)
static const char * debugstr_variant(const VARIANT *var)
static BSTR a2bstr(const char *str)
static const char * strw(LPCWSTR x)
static HINSTANCE hkernel32
static const IOleInPlaceFrameVtbl InPlaceFrameVtbl
static IOleDocumentSite DocumentSite
static ULONG WINAPI DocumentSite_Release(IOleDocumentSite *iface)
static const IOleDocumentSiteVtbl DocumentSiteVtbl
static const IOleInPlaceSiteVtbl InPlaceSiteVtbl
static IOleClientSite ClientSite
static BOOL iface_cmp(IUnknown *iface1, IUnknown *iface2)
static ULONG WINAPI DocumentSite_AddRef(IOleDocumentSite *iface)
static HRESULT cs_qi(REFIID, void **)
static HRESULT WINAPI DocumentSite_QueryInterface(IOleDocumentSite *iface, REFIID riid, void **ppv)
static void do_advise(IUnknown *unk, REFIID riid, IUnknown *unk_advise)
static HWND container_hwnd
#define test_ifaces(i, ids)
static IOleInPlaceSite InPlaceSite
static void set_client_site(IHTMLDocument2 *doc, BOOL set)
static IHTMLDocument2 * notif_doc
static const IOleClientSiteVtbl ClientSiteVtbl
static HRESULT WINAPI DocumentSite_ActivateMe(IOleDocumentSite *iface, IOleDocumentView *pViewToActivate)
static IPropertyNotifySink PropertyNotifySink
static IHTMLWindow2 * window
#define create_document(iid)
static ICollection collection
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static VARIANTARG static DISPID
static const WCHAR attr1W[]
static short search(int val, const short *table, int size)
interface IHTMLWindow2 IHTMLWindow2
static BOOL is_ie_hardened(void)
#define LOCALE_USER_DEFAULT
#define LOCALE_SYSTEM_DEFAULT
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define DISPATCH_PROPERTYGET
#define CTL_E_INVALIDPROPERTYVALUE
const GUID IID_IOleInPlaceSite
const GUID IID_IOleContainer
const GUID IID_IConnectionPointContainer
const GUID IID_IPropertyNotifySink
const GUID IID_IProvideClassInfo
const GUID IID_IOleWindow
const GUID IID_IOleClientSite
const GUID IID_IOleObject
const GUID IID_IPersistStreamInit
png_const_structrp png_const_inforp int * unit
char screen[SCREENY][SCREENX]
#define IsEqualGUID(rguid1, rguid2)
static unsigned __int64 next
static __inline const char * wine_dbgstr_guid(const GUID *id)
static const void * body(MD5_CTX *ctx, const void *data, unsigned long size)
Character const *const prefix
TW_UINT32 TW_UINT16 TW_UINT16 MSG
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
static const WCHAR lang[]
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
DWORD WINAPI GetLastError(void)
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
#define REGDB_E_CLASSNOTREG
#define DISP_E_MEMBERNOTFOUND
#define DISP_E_UNKNOWNNAME
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
HDC WINAPI CreateICA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ const DEVMODEA *)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
BOOL WINAPI DestroyWindow(_In_ HWND)