mshtml: Added IHTMLTable::summary property implementation.

This commit is contained in:
Zhenbo Li 2014-07-15 21:06:41 +08:00 committed by Alexandre Julliard
parent e80a3435a1
commit 720207ad46
2 changed files with 41 additions and 4 deletions

View File

@ -869,15 +869,35 @@ static HRESULT WINAPI HTMLTable3_Invoke(IHTMLTable3 *iface, DISPID dispIdMember,
static HRESULT WINAPI HTMLTable3_put_summary(IHTMLTable3 *iface, BSTR v)
{
HTMLTable *This = impl_from_IHTMLTable3(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
return E_NOTIMPL;
nsAString str;
nsresult nsres;
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
nsAString_InitDepend(&str, v);
nsres = nsIDOMHTMLTableElement_SetSummary(This->nstable, &str);
nsAString_Finish(&str);
if (NS_FAILED(nsres)) {
ERR("Set summary(%s) failed: %08x\n", debugstr_w(v), nsres);
return E_FAIL;
}
return S_OK;
}
static HRESULT WINAPI HTMLTable3_get_summary(IHTMLTable3 *iface, BSTR * p)
{
HTMLTable *This = impl_from_IHTMLTable3(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL;
nsAString str;
nsresult nsres;
TRACE("(%p)->(%p)\n", This, p);
nsAString_Init(&str, NULL);
nsres = nsIDOMHTMLTableElement_GetSummary(This->nstable, &str);
return return_nsstr(nsres, &str, p);
}
static const IHTMLTable3Vtbl HTMLTable3Vtbl = {

View File

@ -5930,6 +5930,7 @@ static void test_table_elem(IHTMLElement *elem)
{
IHTMLElementCollection *col;
IHTMLTable *table;
IHTMLTable3 *table3;
IHTMLDOMNode *node;
VARIANT v;
HRESULT hres;
@ -5945,6 +5946,11 @@ static void test_table_elem(IHTMLElement *elem)
if(FAILED(hres))
return;
hres = IHTMLElement_QueryInterface(elem, &IID_IHTMLTable3, (void**)&table3);
ok(hres == S_OK, "Could not get IHTMLTable3 iface: %08x\n", hres);
if(FAILED(hres))
return;
col = NULL;
hres = IHTMLTable_get_rows(table, &col);
ok(hres == S_OK, "get_rows failed: %08x\n", hres);
@ -6082,6 +6088,17 @@ static void test_table_elem(IHTMLElement *elem)
ok(!strcmp_wa(V_BSTR(&v), "11"), "Expected 11, got %s\n", wine_dbgstr_w(V_BSTR(&v)));
VariantClear(&v);
bstr = a2bstr("summary");
hres = IHTMLTable3_put_summary(table3, bstr);
ok(hres == S_OK, "put_summary = %08x\n", hres);
SysFreeString(bstr);
hres = IHTMLTable3_get_summary(table3, &bstr);
ok(hres == S_OK, "get_summary = %08x\n", hres);
ok(!strcmp_wa(bstr, "summary"), "Expected summary, got %s\n", wine_dbgstr_w(bstr));
SysFreeString(bstr);
IHTMLTable3_Release(table3);
IHTMLTable_Release(table);
}