[3/3] xmllite/tests: Add a test for short variant of xml declaration.

Dmitry Timoshkov dmitry at baikal.ru
Sun Feb 9 21:44:52 CST 2014


---
 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);
 }
 
-- 
1.8.5.3




More information about the wine-patches mailing list