Piotr Caban : vbscript: Added IMatchCollection2::__NewEnum test.

Alexandre Julliard julliard at winehq.org
Tue Feb 19 13:33:04 CST 2013


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Feb 19 12:42:56 2013 +0100

vbscript: Added IMatchCollection2::__NewEnum test.

---

 dlls/vbscript/tests/vbscript.c |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c
index a4b447f..6b25ddd 100644
--- a/dlls/vbscript/tests/vbscript.c
+++ b/dlls/vbscript/tests/vbscript.c
@@ -800,12 +800,14 @@ static void test_RegExp(void)
     IMatchCollection2 *mc;
     IMatch2 *match;
     ISubMatches *sm;
+    IEnumVARIANT *ev;
     IUnknown *unk;
     IDispatch *disp;
     HRESULT hres;
     BSTR bstr;
     LONG count;
     VARIANT v;
+    ULONG fetched;
 
     hres = CoCreateInstance(&CLSID_VBScriptRegExp, NULL,
             CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
@@ -865,7 +867,6 @@ static void test_RegExp(void)
 
     hres = IMatchCollection2_get_Item(mc, 0, &disp);
     ok(hres == S_OK, "get_Item returned %x, expected S_OK\n", hres);
-    IMatchCollection2_Release(mc);
     hres = IDispatch_QueryInterface(disp, &IID_IMatch2, (void**)&match);
     ok(hres == S_OK, "QueryInterface(IID_IMatch2) returned %x\n", hres);
     IDispatch_Release(disp);
@@ -899,6 +900,29 @@ static void test_RegExp(void)
     ok(hres == E_POINTER, "get_Count returned %x, expected E_POINTER\n", hres);
     ISubMatches_Release(sm);
 
+    hres = IMatchCollection2_get__NewEnum(mc, &unk);
+    ok(hres == S_OK, "get__NewEnum returned %x, expected S_OK\n", hres);
+    hres = IUnknown_QueryInterface(unk, &IID_IEnumVARIANT, (void**)&ev);
+    ok(hres == S_OK, "QueryInterface(IID_IEnumVARIANT) returned %x\n", hres);
+    IUnknown_Release(unk);
+    IMatchCollection2_Release(mc);
+
+    hres = IEnumVARIANT_Skip(ev, 2);
+    ok(hres == S_OK, "Skip returned %x\n", hres);
+
+    hres = IEnumVARIANT_Next(ev, 1, &v, &fetched);
+    ok(hres == S_FALSE, "Next returned %x, expected S_FALSE\n", hres);
+    ok(fetched == 0, "fetched = %d\n", fetched);
+
+    hres = IEnumVARIANT_Skip(ev, -1);
+    ok(hres == S_OK, "Skip returned %x\n", hres);
+
+    hres = IEnumVARIANT_Next(ev, 1, &v, &fetched);
+    ok(hres == S_OK, "Next returned %x\n", hres);
+    ok(fetched == 1, "fetched = %d\n", fetched);
+    VariantClear(&v);
+    IEnumVARIANT_Release(ev);
+
     IRegExp2_Release(regexp);
 }
 




More information about the wine-cvs mailing list