[PATCH] Implement IXMLDOMProcessingInstruction target

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Sat Feb 16 05:02:40 CST 2008


---
 dlls/msxml3/pi.c           |    5 +++--
 dlls/msxml3/tests/domdoc.c |   12 ++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 0db9275..1df3940 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -470,8 +470,9 @@ static HRESULT WINAPI dom_pi_get_target(
     IXMLDOMProcessingInstruction *iface,
     BSTR *p)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    /* target returns the same value as nodeName property */
+    dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
+    return IXMLDOMNode_get_nodeName( This->node, p );
 }
 
 static HRESULT WINAPI dom_pi_get_data(
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index cbc7c6b..9da1c94 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -617,6 +617,18 @@ static void test_domdoc( void )
         ok(r == S_FALSE, "ret %08x\n", r );
         ok( V_VT(&var) == VT_NULL, "incorrect dataType type\n");
         VariantClear(&var);
+        
+        /* test nodeName */
+        r = IXMLDOMProcessingInstruction_get_nodeName(nodePI, &str);
+        ok(r == S_OK, "ret %08x\n", r );
+        ok( !lstrcmpW( str, _bstr_("xml") ), "incorrect nodeName string\n");
+        SysFreeString(str);
+        
+        /* test Target */
+        r = IXMLDOMProcessingInstruction_get_target(nodePI, &str);
+        ok(r == S_OK, "ret %08x\n", r );
+        ok( !lstrcmpW( str, _bstr_("xml") ), "incorrect target string\n");
+        SysFreeString(str);
 
         /* test nodeTypeString */
         r = IXMLDOMProcessingInstruction_get_nodeTypeString(nodePI, &str);
-- 
1.5.3.8


--------------020108060400090305050703--




More information about the wine-patches mailing list