Commit 720207ad authored by Zhenbo Li's avatar Zhenbo Li Committed by Alexandre Julliard

mshtml: Added IHTMLTable::summary property implementation.

parent e80a3435
...@@ -869,15 +869,35 @@ static HRESULT WINAPI HTMLTable3_Invoke(IHTMLTable3 *iface, DISPID dispIdMember, ...@@ -869,15 +869,35 @@ static HRESULT WINAPI HTMLTable3_Invoke(IHTMLTable3 *iface, DISPID dispIdMember,
static HRESULT WINAPI HTMLTable3_put_summary(IHTMLTable3 *iface, BSTR v) static HRESULT WINAPI HTMLTable3_put_summary(IHTMLTable3 *iface, BSTR v)
{ {
HTMLTable *This = impl_from_IHTMLTable3(iface); HTMLTable *This = impl_from_IHTMLTable3(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(v)); nsAString str;
return E_NOTIMPL; 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) static HRESULT WINAPI HTMLTable3_get_summary(IHTMLTable3 *iface, BSTR * p)
{ {
HTMLTable *This = impl_from_IHTMLTable3(iface); HTMLTable *This = impl_from_IHTMLTable3(iface);
FIXME("(%p)->(%p)\n", This, p); nsAString str;
return E_NOTIMPL; 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 = { static const IHTMLTable3Vtbl HTMLTable3Vtbl = {
......
...@@ -5930,6 +5930,7 @@ static void test_table_elem(IHTMLElement *elem) ...@@ -5930,6 +5930,7 @@ static void test_table_elem(IHTMLElement *elem)
{ {
IHTMLElementCollection *col; IHTMLElementCollection *col;
IHTMLTable *table; IHTMLTable *table;
IHTMLTable3 *table3;
IHTMLDOMNode *node; IHTMLDOMNode *node;
VARIANT v; VARIANT v;
HRESULT hres; HRESULT hres;
...@@ -5945,6 +5946,11 @@ static void test_table_elem(IHTMLElement *elem) ...@@ -5945,6 +5946,11 @@ static void test_table_elem(IHTMLElement *elem)
if(FAILED(hres)) if(FAILED(hres))
return; 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; col = NULL;
hres = IHTMLTable_get_rows(table, &col); hres = IHTMLTable_get_rows(table, &col);
ok(hres == S_OK, "get_rows failed: %08x\n", hres); ok(hres == S_OK, "get_rows failed: %08x\n", hres);
...@@ -6082,6 +6088,17 @@ static void test_table_elem(IHTMLElement *elem) ...@@ -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))); ok(!strcmp_wa(V_BSTR(&v), "11"), "Expected 11, got %s\n", wine_dbgstr_w(V_BSTR(&v)));
VariantClear(&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); IHTMLTable_Release(table);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment