[PATCH] Corrected tests for msxml service packs versions

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Tue Feb 12 13:56:09 CST 2008


---
 dlls/msxml3/tests/xmldoc.c |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/dlls/msxml3/tests/xmldoc.c b/dlls/msxml3/tests/xmldoc.c
index 0d1c90a..12264c3 100644
--- a/dlls/msxml3/tests/xmldoc.c
+++ b/dlls/msxml3/tests/xmldoc.c
@@ -270,17 +270,26 @@ static void test_createElement(void)
     V_I4(&vType) = -1;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &element);
-    ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %d\n", hr);
-    ok(element == NULL, "Expected NULL element\n");
-
-    if (element != NULL)
-    {
-        hr = IXMLElement_get_type(element, &type);
-        ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
-        ok(type == XMLELEMTYPE_OTHER, "Expected XMLELEMTYPE_OTHER, got %ld\n", type);
-
-        IXMLElement_Release(element);
+    /* Upto and including SP7, createElement returns an element. */
+    if(hr == S_OK)
+    {        
+        ok(element != NULL, "Expected element\n");    
+        if (element != NULL)
+        {
+            hr = IXMLElement_get_type(element, &type);
+            ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+            /* SP7 returns an XMLELEMTYPE_ELEMENT */
+            ok(type == XMLELEMTYPE_OTHER || type == XMLELEMTYPE_ELEMENT, 
+                         "Expected XMLELEMTYPE_OTHER || XMLELEMTYPE_ELEMENT, got %ld\n", type);
+
+            IXMLElement_Release(element);
+        }
     }
+    else
+    {
+        ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %d\n", hr);
+        ok(element == NULL, "Expected NULL element\n");
+    }    
 
     /* invalid vName type */
     V_VT(&vType) = VT_I4;
-- 
1.5.3.8


--------------020804040609030807000003--




More information about the wine-patches mailing list