[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