mshtml: Added IHTMLSelectElement::put_length implementation.
This commit is contained in:
parent
3886d7f805
commit
78cf4e30b5
|
@ -364,8 +364,15 @@ static HRESULT WINAPI HTMLSelectElement_remove(IHTMLSelectElement *iface, LONG i
|
|||
static HRESULT WINAPI HTMLSelectElement_put_length(IHTMLSelectElement *iface, LONG v)
|
||||
{
|
||||
HTMLSelectElement *This = HTMLSELECT_THIS(iface);
|
||||
FIXME("(%p)->(%d)\n", This, v);
|
||||
return E_NOTIMPL;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%d)\n", This, v);
|
||||
|
||||
nsres = nsIDOMHTMLSelectElement_SetLength(This->nsselect, v);
|
||||
if(NS_FAILED(nsres))
|
||||
ERR("SetLength failed: %08x\n", nsres);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLSelectElement_get_length(IHTMLSelectElement *iface, LONG *p)
|
||||
|
|
|
@ -673,6 +673,17 @@ static IHTMLAnchorElement *_get_anchor_iface(unsigned line, IUnknown *unk)
|
|||
return anchor;
|
||||
}
|
||||
|
||||
#define get_select_iface(u) _get_select_iface(__LINE__,u)
|
||||
static IHTMLSelectElement *_get_select_iface(unsigned line, IUnknown *unk)
|
||||
{
|
||||
IHTMLSelectElement *select;
|
||||
HRESULT hres;
|
||||
|
||||
hres = IUnknown_QueryInterface(unk, &IID_IHTMLSelectElement, (void**)&select);
|
||||
ok_(__FILE__,line) (hres == S_OK, "Could not get IHTMLSelectElement: %08x\n", hres);
|
||||
return select;
|
||||
}
|
||||
|
||||
#define get_text_iface(u) _get_text_iface(__LINE__,u)
|
||||
static IHTMLDOMTextNode *_get_text_iface(unsigned line, IUnknown *unk)
|
||||
{
|
||||
|
@ -1275,6 +1286,18 @@ static void _test_select_length(unsigned line, IHTMLSelectElement *select, LONG
|
|||
ok_(__FILE__,line) (len == length, "len=%d, expected %d\n", len, length);
|
||||
}
|
||||
|
||||
#define test_select_put_length(s,l) _test_select_put_length(__LINE__,s,l)
|
||||
static void _test_select_put_length(unsigned line, IUnknown *unk, LONG length)
|
||||
{
|
||||
IHTMLSelectElement *select = _get_select_iface(line, unk);
|
||||
HRESULT hres;
|
||||
|
||||
hres = IHTMLSelectElement_put_length(select, length);
|
||||
ok_(__FILE__,line) (hres == S_OK, "put_length failed: %08x\n", hres);
|
||||
_test_select_length(line, select, length);
|
||||
IHTMLSelectElement_Release(select);
|
||||
}
|
||||
|
||||
#define test_select_selidx(s,i) _test_select_selidx(__LINE__,s,i)
|
||||
static void _test_select_selidx(unsigned line, IHTMLSelectElement *select, LONG index)
|
||||
{
|
||||
|
@ -5553,12 +5576,9 @@ static void test_elems(IHTMLDocument2 *doc)
|
|||
|
||||
elem = get_elem_by_id(doc, "s", TRUE);
|
||||
if(elem) {
|
||||
IHTMLSelectElement *select;
|
||||
IHTMLSelectElement *select = get_select_iface((IUnknown*)elem);
|
||||
IHTMLDocument2 *doc_node, *elem_doc;
|
||||
|
||||
hres = IHTMLElement_QueryInterface(elem, &IID_IHTMLSelectElement, (void**)&select);
|
||||
ok(hres == S_OK, "Could not get IHTMLSelectElement interface: %08x\n", hres);
|
||||
|
||||
test_select_elem(select);
|
||||
|
||||
test_elem_title((IUnknown*)select, NULL);
|
||||
|
@ -5854,6 +5874,17 @@ static void test_elems(IHTMLDocument2 *doc)
|
|||
|
||||
IHTMLDocument3_Release(doc3);
|
||||
|
||||
elem = get_elem_by_id(doc, "s", TRUE);
|
||||
if(elem) {
|
||||
static const elem_type_t select_types[] = { ET_OPTION, ET_OPTION, ET_OPTION };
|
||||
|
||||
test_select_put_length((IUnknown*)elem, 3);
|
||||
test_elem_all((IUnknown*)elem, select_types, sizeof(select_types)/sizeof(*select_types));
|
||||
test_select_put_length((IUnknown*)elem, 1);
|
||||
test_elem_all((IUnknown*)elem, select_types, 1);
|
||||
IHTMLElement_Release(elem);
|
||||
}
|
||||
|
||||
window = get_doc_window(doc);
|
||||
test_window_name(window, NULL);
|
||||
set_window_name(window, "test name");
|
||||
|
|
Loading…
Reference in New Issue