[PATCH 2/4] msxml3: stub domdoc_get_readyState()

Adam Martinson amartinson at codeweavers.com
Thu Sep 30 17:01:44 CDT 2010


---
 dlls/msxml3/domdoc.c       |    9 +++++++--
 dlls/msxml3/tests/domdoc.c |   17 ++++++++++++-----
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 73f3f1f..fe3c53a 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1911,8 +1911,13 @@ static HRESULT WINAPI domdoc_get_readyState(
     LONG *value )
 {
     domdoc *This = impl_from_IXMLDOMDocument3(iface);
-    FIXME("(%p)->(%p)\n", This, value);
-    return E_NOTIMPL;
+    FIXME("stub! (%p)->(%p)\n", This, value);
+
+    if (!value)
+        return E_INVALIDARG;
+
+    *value = READYSTATE_COMPLETE;
+    return S_OK;
 }
 
 
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 5fe5174..64e21ab 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -2999,21 +2999,28 @@ static void test_IXMLDOMDocument2(void)
     VARIANT_BOOL b;
     VARIANT var;
     HRESULT r;
-    LONG ref;
+    LONG ref, res;
     BSTR str;
 
     doc = create_document(&IID_IXMLDOMDocument);
     if (!doc) return;
 
+    r = IXMLDOMDocument_QueryInterface( doc, &IID_IXMLDOMDocument2, (void**)&doc2 );
+    ok( r == S_OK, "ret %08x\n", r );
+    ok( doc == (IXMLDOMDocument*)doc2, "interfaces differ\n");
+
+    ole_expect(IXMLDOMDocument2_get_readyState(doc2, NULL), E_INVALIDARG);
+    ole_check(IXMLDOMDocument2_get_readyState(doc2, &res));
+    ok(res == READYSTATE_COMPLETE, "expected READYSTATE_COMPLETE (4), got %i\n", res);
+
     str = SysAllocString( szComplete4 );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
+    r = IXMLDOMDocument_loadXML( doc2, str, &b );
     ok( r == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     SysFreeString( str );
 
-    r = IXMLDOMDocument_QueryInterface( doc, &IID_IXMLDOMDocument2, (void**)&doc2 );
-    ok( r == S_OK, "ret %08x\n", r );
-    ok( doc == (IXMLDOMDocument*)doc2, "interfaces differ\n");
+    ole_check(IXMLDOMDocument2_get_readyState(doc, &res));
+    ok(res == READYSTATE_COMPLETE, "expected READYSTATE_COMPLETE (4), got %i\n", res);
 
     r = IXMLDOMDocument_QueryInterface( doc, &IID_IDispatchEx, (void**)&dispex );
     ok( r == S_OK, "ret %08x\n", r );
-- 
1.7.2.3


--------------090006030506000204040509--



More information about the wine-patches mailing list