Piotr Caban : oleacc: Added client IEnumVARIANT tests.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Mar 23 10:03:19 CDT 2015


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Sat Mar 21 11:26:03 2015 +0100

oleacc: Added client IEnumVARIANT tests.

---

 dlls/oleacc/tests/main.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/dlls/oleacc/tests/main.c b/dlls/oleacc/tests/main.c
index 0a091df..d11c344 100644
--- a/dlls/oleacc/tests/main.c
+++ b/dlls/oleacc/tests/main.c
@@ -384,6 +384,7 @@ static void test_default_client_accessible_object(void)
     IAccessible *acc;
     IDispatch *disp;
     IOleWindow *ow;
+    IEnumVARIANT *ev;
     HWND chld, hwnd, hwnd2;
     HRESULT hr;
     VARIANT vid, v;
@@ -391,6 +392,7 @@ static void test_default_client_accessible_object(void)
     POINT pt;
     RECT rect;
     LONG l, left, top, width, height;
+    ULONG fetched;
 
     hwnd = CreateWindowA("oleacc_test", "test &t &junk", WS_OVERLAPPEDWINDOW,
             0, 0, 100, 100, NULL, NULL, NULL, NULL);
@@ -432,6 +434,31 @@ static void test_default_client_accessible_object(void)
     ok(hr == E_INVALIDARG, "get_accChild returned %x\n", hr);
     ok(disp == NULL, "disp = %p\n", disp);
 
+    hr = IAccessible_QueryInterface(acc, &IID_IEnumVARIANT, (void**)&ev);
+    ok(hr == S_OK, "got %x\n", hr);
+
+    hr = IEnumVARIANT_Skip(ev, 100);
+    ok(hr == S_FALSE, "Skip returned %x\n", hr);
+
+    V_VT(&v) = VT_I4;
+    fetched = 1;
+    hr = IEnumVARIANT_Next(ev, 1, &v, &fetched);
+    ok(hr == S_FALSE, "got %x\n", hr);
+    ok(V_VT(&v) == VT_I4, "V_VT(&v) = %d\n", V_VT(&v));
+    ok(fetched == 0, "fetched = %d\n", fetched);
+
+    hr = IEnumVARIANT_Reset(ev);
+    ok(hr == S_OK, "got %x\n", hr);
+
+    V_VT(&v) = VT_I4;
+    fetched = 2;
+    hr = IEnumVARIANT_Next(ev, 1, &v, &fetched);
+    ok(hr == S_OK, "got %x\n", hr);
+    ok(V_VT(&v) == VT_DISPATCH, "V_VT(&v) = %d\n", V_VT(&v));
+    IDispatch_Release(V_DISPATCH(&v));
+    ok(fetched == 1, "fetched = %d\n", fetched);
+    IEnumVARIANT_Release(ev);
+
     V_VT(&vid) = VT_I4;
     V_I4(&vid) = CHILDID_SELF;
     hr = IAccessible_get_accName(acc, vid, &str);




More information about the wine-cvs mailing list