Re: [mshtml/tests] Fix 2 test failures on IE8
Hi Paul, Paul Vriens wrote:
Changelog Fix 2 test failures on IE8
- ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp); + ok(disp == (void*)0xdeadbeef || + disp == NULL, /* IE8 */ This test does no longer make sense. It would be better to remove it and preferably change implementation to match IE8. Thanks, Jacek
Jacek Caban wrote:
Hi Paul,
Paul Vriens wrote:
Changelog Fix 2 test failures on IE8
- ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp); + ok(disp == (void*)0xdeadbeef || + disp == NULL, /* IE8 */
This test does no longer make sense. It would be better to remove it and preferably change implementation to match IE8.
Thanks, Jacek
Hi Jacek, Something like the attached? -- Cheers, Paul. diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index 32b0801..720bbfe 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -157,6 +157,11 @@ static HRESULT WINAPI HTMLDOMChildrenCollection_item(IHTMLDOMChildrenCollection TRACE("(%p)->(%d %p)\n", This, index, ppItem); + if (ppItem) + *ppItem = NULL; + else + return E_POINTER; + nsIDOMNodeList_GetLength(This->nslist, &length); if(index < 0 || index >= length) return E_INVALIDARG; diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index aaf1a39..497fc0a 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -4456,15 +4456,17 @@ static void test_elems(IHTMLDocument2 *doc) IHTMLDOMNode_Release(node); } - disp = (void*)0xdeadbeef; + hres = IHTMLDOMChildrenCollection_item(child_col, length - 1, NULL); + ok(hres == E_POINTER, "item failed: %08x, expected E_POINTER\n", hres); + + hres = IHTMLDOMChildrenCollection_item(child_col, length, NULL); + ok(hres == E_POINTER, "item failed: %08x, expected E_POINTER\n", hres); + hres = IHTMLDOMChildrenCollection_item(child_col, 6000, &disp); ok(hres == E_INVALIDARG, "item failed: %08x, expected E_INVALIDARG\n", hres); - ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp); - disp = (void*)0xdeadbeef; hres = IHTMLDOMChildrenCollection_item(child_col, length, &disp); ok(hres == E_INVALIDARG, "item failed: %08x, expected E_INVALIDARG\n", hres); - ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp); test_child_col_disp(child_col);
Paul Vriens wrote:
Jacek Caban wrote:
Hi Paul,
Paul Vriens wrote:
Changelog Fix 2 test failures on IE8
- ok(disp == (void*)0xdeadbeef, "disp=%p\n", disp); + ok(disp == (void*)0xdeadbeef || + disp == NULL, /* IE8 */
This test does no longer make sense. It would be better to remove it and preferably change implementation to match IE8.
Thanks, Jacek
Hi Jacek,
Something like the attached?
Yes, it looks good. Thanks, Jacek
participants (2)
-
Jacek Caban -
Paul Vriens