[1/2] msxml3/tests: Reduce code duplication for the namespace change tests.

Ulrik Dickow udickow at gmail.com
Tue Jun 12 03:52:45 CDT 2012


Patch 1 of 2 from http://bugs.winehq.org/show_bug.cgi?id=26226 .

-- 
Regards, Ulrik Dickow
-------------- next part --------------
From ee0b22088af0c8b941d582603b7d304a0f831a47 Mon Sep 17 00:00:00 2001
From: Ulrik Dickow <u.dickow at gmail.com>
Date: Wed, 6 Jun 2012 12:19:00 +0200
Subject: msxml3/tests: Reduce code duplication for the namespace change
 tests.

---
 dlls/msxml3/tests/domdoc.c |  127 ++++++++++++++++++-------------------------
 1 files changed, 53 insertions(+), 74 deletions(-)

diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index d4ff6a2..b942c9c 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -7160,6 +7160,57 @@ static void test_testTransforms(void)
     free_bstrs();
 }
 
+static void test_namespaces_change(int doc_version)
+{
+    IXMLDOMDocument *doc;
+    IXMLDOMElement *elem;
+    IXMLDOMNode *node;
+
+    VARIANT var;
+    HRESULT hr;
+    BSTR str;
+
+    /* create on element and try to alter namespace after that */
+    doc = (doc_version == 0 ?
+           create_document(&IID_IXMLDOMDocument) :
+           create_document_version(60, &IID_IXMLDOMDocument));
+    if (!doc) return;
+
+    V_VT(&var) = VT_I2;
+    V_I2(&var) = NODE_ELEMENT;
+
+    hr = IXMLDOMDocument_createNode(doc, var, _bstr_("ns:elem"), _bstr_("ns/uri"), &node);
+    EXPECT_HR(hr, S_OK);
+
+    hr = IXMLDOMDocument_appendChild(doc, node, NULL);
+    EXPECT_HR(hr, S_OK);
+
+    hr = IXMLDOMDocument_get_documentElement(doc, &elem);
+    EXPECT_HR(hr, S_OK);
+
+    /* try same prefix, different uri */
+    V_VT(&var) = VT_BSTR;
+    V_BSTR(&var) = _bstr_("ns/uri2");
+
+    hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
+    EXPECT_HR(hr, E_INVALIDARG);
+
+    /* try same prefix and uri */
+    V_VT(&var) = VT_BSTR;
+    V_BSTR(&var) = _bstr_("ns/uri");
+
+    hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
+    EXPECT_HR(hr, S_OK);
+
+    hr = IXMLDOMElement_get_xml(elem, &str);
+    EXPECT_HR(hr, S_OK);
+    ok(!lstrcmpW(str, _bstr_("<ns:elem xmlns:ns=\"ns/uri\"/>")), "got element %s\n", wine_dbgstr_w(str));
+    SysFreeString(str);
+
+    IXMLDOMElement_Release(elem);
+    IXMLDOMDocument_Release(doc);
+}
+
 static void test_namespaces(void)
 {
     static const CHAR namespaces_xmlA[] =
@@ -7175,7 +7226,6 @@ static void test_namespaces(void)
     IXMLDOMNode *node;
 
     VARIANT_BOOL b;
-    VARIANT var;
     HRESULT hr;
     BSTR str;
 
@@ -7252,79 +7302,8 @@ static void test_namespaces(void)
 
     IXMLDOMDocument_Release(doc);
 
-    /* create on element and try to alter namespace after that */
-    doc = create_document(&IID_IXMLDOMDocument);
-    if (!doc) return;
-
-    V_VT(&var) = VT_I2;
-    V_I2(&var) = NODE_ELEMENT;
-
-    hr = IXMLDOMDocument_createNode(doc, var, _bstr_("ns:elem"), _bstr_("ns/uri"), &node);
-    EXPECT_HR(hr, S_OK);
-
-    hr = IXMLDOMDocument_appendChild(doc, node, NULL);
-    EXPECT_HR(hr, S_OK);
-
-    hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
-
-    V_VT(&var) = VT_BSTR;
-    V_BSTR(&var) = _bstr_("ns/uri2");
-
-    hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
-    EXPECT_HR(hr, E_INVALIDARG);
-
-    V_VT(&var) = VT_BSTR;
-    V_BSTR(&var) = _bstr_("ns/uri");
-
-    hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
-    EXPECT_HR(hr, S_OK);
-
-    hr = IXMLDOMElement_get_xml(elem, &str);
-    EXPECT_HR(hr, S_OK);
-    ok(!lstrcmpW(str, _bstr_("<ns:elem xmlns:ns=\"ns/uri\"/>")), "got element %s\n", wine_dbgstr_w(str));
-    SysFreeString(str);
-
-    IXMLDOMElement_Release(elem);
-    IXMLDOMDocument_Release(doc);
-
-    /* create on element and try to alter namespace after that */
-    doc = create_document_version(60, &IID_IXMLDOMDocument);
-    if (!doc) return;
-
-    V_VT(&var) = VT_I2;
-    V_I2(&var) = NODE_ELEMENT;
-
-    hr = IXMLDOMDocument_createNode(doc, var, _bstr_("ns:elem"), _bstr_("ns/uri"), &node);
-    EXPECT_HR(hr, S_OK);
-
-    hr = IXMLDOMDocument_appendChild(doc, node, NULL);
-    EXPECT_HR(hr, S_OK);
-
-    hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
-
-    /* try same prefix, different uri */
-    V_VT(&var) = VT_BSTR;
-    V_BSTR(&var) = _bstr_("ns/uri2");
-
-    hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
-    EXPECT_HR(hr, E_INVALIDARG);
-
-    /* try same prefix and uri */
-    V_VT(&var) = VT_BSTR;
-    V_BSTR(&var) = _bstr_("ns/uri");
-
-    hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
-    EXPECT_HR(hr, S_OK);
-
-    hr = IXMLDOMElement_get_xml(elem, &str);
-    EXPECT_HR(hr, S_OK);
-    ok(!lstrcmpW(str, _bstr_("<ns:elem xmlns:ns=\"ns/uri\"/>")), "got element %s\n", wine_dbgstr_w(str));
-    SysFreeString(str);
-
-    IXMLDOMElement_Release(elem);
-    IXMLDOMDocument_Release(doc);
+    test_namespaces_change(0);
+    test_namespaces_change(60);
 
     free_bstrs();
 }
-- 
1.7.7.6

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 554 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120612/cd2c78cd/attachment.pgp>


More information about the wine-patches mailing list