Dmitry Timoshkov : xmllite/tests: Add a test for short variant of xml declaration.
Alexandre Julliard
julliard at winehq.org
Mon Feb 10 13:06:55 CST 2014
Module: wine
Branch: master
Commit: b02ea57e043c4ddac7a396ae5eaa52caeb6eaa9b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b02ea57e043c4ddac7a396ae5eaa52caeb6eaa9b
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Mon Feb 10 12:44:52 2014 +0900
xmllite/tests: Add a test for short variant of xml declaration.
---
dlls/xmllite/tests/reader.c | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index b7ef862..f4ad466 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -55,6 +55,7 @@ static void free_str(WCHAR *str)
}
static const char xmldecl_full[] = "\xef\xbb\xbf<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
+static const char xmldecl_short[] = "<?xml version=\"1.0\"?>\n";
static IStream *create_stream_on_data(const char *data, int size)
{
@@ -750,6 +751,42 @@ todo_wine {
ok(type == XmlNodeType_None, "got %d\n", type);
}
IStream_Release(stream);
+
+ /* test short variant */
+ stream = create_stream_on_data(xmldecl_short, sizeof(xmldecl_short));
+
+ hr = IXmlReader_SetInput(reader, (IUnknown *)stream);
+ ok(hr == S_OK, "expected S_OK, got %08x\n", hr);
+
+ type = -1;
+ hr = IXmlReader_Read(reader, &type);
+todo_wine
+ ok(hr == S_OK, "expected S_OK, got %08x\n", hr);
+todo_wine
+ ok(type == XmlNodeType_XmlDeclaration, "expected XmlDeclaration, got %s\n", type_to_str(type));
+ ok_pos(reader, 1, 3, 1, 21, TRUE);
+ test_read_state(reader, XmlReadState_Interactive, -1, TRUE);
+
+ hr = IXmlReader_GetValue(reader, &val, NULL);
+ ok(hr == S_OK, "expected S_OK, got %08x\n", hr);
+todo_wine
+ ok(*val == 0, "got %s\n", wine_dbgstr_w(val));
+
+ /* check attributes */
+ hr = IXmlReader_MoveToNextAttribute(reader);
+ ok(hr == S_OK, "expected S_OK, got %08x\n", hr);
+
+ type = -1;
+ hr = IXmlReader_GetNodeType(reader, &type);
+ ok(hr == S_OK, "expected S_OK, got %08x\n", hr);
+ ok(type == XmlNodeType_Attribute, "got %d\n", type);
+ ok_pos(reader, 1, 7, 1, 21, TRUE);
+
+ /* try to move from last attribute */
+ hr = IXmlReader_MoveToNextAttribute(reader);
+ ok(hr == S_FALSE, "expected S_FALSE, got %08x\n", hr);
+
+ IStream_Release(stream);
IXmlReader_Release(reader);
}
More information about the wine-cvs
mailing list