Hans Leidekker : msxml3: Add support for 'int' in IXMLDOMElement_put_dataType.
Alexandre Julliard
julliard at winehq.org
Tue Jun 23 15:52:51 CDT 2020
Module: wine
Branch: master
Commit: 0bec5dfeeca8e27fe19290bafc0550906de7b1eb
URL: https://source.winehq.org/git/wine.git/?a=commit;h=0bec5dfeeca8e27fe19290bafc0550906de7b1eb
Author: Hans Leidekker <hans at codeweavers.com>
Date: Fri Jun 12 12:32:05 2020 +0200
msxml3: Add support for 'int' in IXMLDOMElement_put_dataType.
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/msxml3/element.c | 1 +
dlls/msxml3/tests/domdoc.c | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index 0ff26e4fb7..ecebd39fea 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -847,6 +847,7 @@ static HRESULT WINAPI domelem_put_nodeTypedValue(
{
/* for untyped node coerce to BSTR and set */
case DT_INVALID:
+ case DT_INT:
if (V_VT(&value) != VT_BSTR)
{
VARIANT content;
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index a6acdba366..49768b8dbe 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -8541,6 +8541,33 @@ static void test_put_nodeTypedValue(void)
"got %s, expected \"1\"\n", wine_dbgstr_w(V_BSTR(&type)));
VariantClear(&type);
+ /* int */
+ hr = IXMLDOMElement_put_dataType(elem, _bstr_("int"));
+ EXPECT_HR(hr, S_OK);
+
+ V_VT(&value) = VT_BSTR;
+ V_BSTR(&value) = _bstr_("1");
+ hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
+ EXPECT_HR(hr, S_OK);
+ VariantClear(&value);
+
+ V_VT(&value) = VT_EMPTY;
+ hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
+ EXPECT_HR(hr, S_OK);
+ ok(V_VT(&value) == VT_I4, "got %d\n", V_VT(&value));
+ ok(V_I4(&value) == 1, "got %d\n", V_I4(&value));
+
+ V_VT(&value) = VT_I2;
+ V_I2(&value) = -1;
+ hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
+ EXPECT_HR(hr, S_OK);
+
+ V_VT(&value) = VT_EMPTY;
+ hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
+ EXPECT_HR(hr, S_OK);
+ ok(V_VT(&value) == VT_I4, "got %d\n", V_VT(&value));
+ ok(V_I4(&value) == -1, "got %d\n", V_I4(&value));
+
hr = IXMLDOMElement_get_firstChild(elem, &node);
EXPECT_HR(hr, S_OK);
hr = IXMLDOMElement_removeChild(elem, node, NULL);
More information about the wine-cvs
mailing list