Piotr Caban : msxml3: Implemented xmlnode_get_nodeTypedValue 'i1' data type handling.

Alexandre Julliard julliard at winehq.org
Thu Nov 19 10:15:17 CST 2009


Module: wine
Branch: master
Commit: f4f7198610efcac150dd8373c9fd9a4e30c40d30
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f4f7198610efcac150dd8373c9fd9a4e30c40d30

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Wed Nov 18 19:02:07 2009 +0100

msxml3: Implemented xmlnode_get_nodeTypedValue 'i1' data type handling.

---

 dlls/msxml3/node.c         |    2 ++
 dlls/msxml3/tests/domdoc.c |   14 ++++++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 4910605..b949037 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -1035,6 +1035,8 @@ inline HRESULT VARIANT_from_xmlChar(xmlChar *str, VARIANT *v, BSTR type)
             V_VT(v) = VT_CY;
         else if(!lstrcmpiW(type, szBoolean))
             V_VT(v) = VT_BOOL;
+        else if(!lstrcmpiW(type, szI1))
+            V_VT(v) = VT_I1;
         else
         {
             FIXME("Type handling not yet implemented\n");
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 7c8fddf..6e08ca9 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -161,6 +161,7 @@ static const CHAR szTypeValueXML[] =
 "   <date dt:dt=\"date\">3721-11-01</date>\n"
 "   <time dt:dt=\"time\">13:57:12.31321</time>\n"
 "   <timetz dt:dt=\"time.tz\">23:21:01.13+03:21</timetz>\n"
+"   <i1 dt:dt=\"i1\">-13</i1>\n"
 "</root>";
 
 static const CHAR szBasicTransformSSXMLPart1[] =
@@ -4159,6 +4160,19 @@ static void test_NodeTypeValue(void)
 
             IXMLDOMNode_Release(pNode);
         }
+
+        hr = IXMLDOMDocument2_selectSingleNode(doc, _bstr_("root/i1"), &pNode);
+        ok(hr == S_OK, "ret %08x\n", hr );
+        if(hr == S_OK)
+        {
+            hr = IXMLDOMNode_get_nodeTypedValue(pNode, &v);
+            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(V_VT(&v) == VT_I1, "incorrect type\n");
+            ok(V_I1(&v) == -13, "incorrect value\n");
+            VariantClear( &v );
+
+            IXMLDOMNode_Release(pNode);
+        }
     }
 
     IXMLDOMDocument2_Release(doc);




More information about the wine-cvs mailing list