From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/xmllite/tests/reader.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c index 8bb30f730a4..6c784826232 100644 --- a/dlls/xmllite/tests/reader.c +++ b/dlls/xmllite/tests/reader.c @@ -1833,16 +1833,15 @@ static void test_isemptyelement(void) { struct test_entry_empty *test = empty_element_tests; IXmlReader *reader; + XmlNodeType type; HRESULT hr; + BOOL ret;
hr = CreateXmlReader(&IID_IXmlReader, (void**)&reader, NULL); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
while (test->xml) { - XmlNodeType type; - BOOL ret; - set_input_string(reader, test->xml);
type = XmlNodeType_None; @@ -1856,6 +1855,23 @@ static void test_isemptyelement(void) test++; }
+ /* Move to an attribute of an empty element. */ + set_input_string(reader, "<a attr1='b' />"); + + hr = IXmlReader_Read(reader, &type); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(type == XmlNodeType_Element, "Unexpected node type %d.\n", type); + ret = IXmlReader_IsEmptyElement(reader); + ok(ret, "Unexpected empty flag %d.\n", ret); + + hr = IXmlReader_MoveToFirstAttribute(reader); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = IXmlReader_GetNodeType(reader, &type); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(type == XmlNodeType_Attribute, "Unexpected node type %d.\n", type); + ret = IXmlReader_IsEmptyElement(reader); + ok(!ret, "Unexpected empty flag %d.\n", ret); + IXmlReader_Release(reader); }