Huw Davies : ole32/tests: Add some tests to exercise the enumerator.

Alexandre Julliard julliard at winehq.org
Wed Apr 22 10:18:51 CDT 2009


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Apr 22 11:45:36 2009 +0100

ole32/tests: Add some tests to exercise the enumerator.

---

 dlls/ole32/tests/clipboard.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/dlls/ole32/tests/clipboard.c b/dlls/ole32/tests/clipboard.c
index 4cbd88b..1b406d9 100644
--- a/dlls/ole32/tests/clipboard.c
+++ b/dlls/ole32/tests/clipboard.c
@@ -593,6 +593,34 @@ static void test_enum_fmtetc(IDataObject *src)
     hr = IEnumFORMATETC_Reset(enum_fmt);
     ok(hr == S_OK, "got %08x\n", hr);
 
+    if(src) /* Exercise the enumerator a bit */
+    {
+        IEnumFORMATETC *clone;
+        FORMATETC third_fmt;
+
+        hr = IEnumFORMATETC_Next(enum_fmt, 1, &third_fmt, NULL);
+        ok(hr == S_OK, "got %08x\n", hr);
+        hr = IEnumFORMATETC_Next(enum_fmt, 1, &third_fmt, NULL);
+        ok(hr == S_OK, "got %08x\n", hr);
+        hr = IEnumFORMATETC_Next(enum_fmt, 1, &third_fmt, NULL);
+        ok(hr == S_OK, "got %08x\n", hr);
+
+        hr = IEnumFORMATETC_Reset(enum_fmt);
+        ok(hr == S_OK, "got %08x\n", hr);
+        hr = IEnumFORMATETC_Skip(enum_fmt, 2);
+        ok(hr == S_OK, "got %08x\n", hr);
+
+        hr = IEnumFORMATETC_Clone(enum_fmt, &clone);
+        ok(hr == S_OK, "got %08x\n", hr);
+        hr = IEnumFORMATETC_Next(enum_fmt, 1, &fmt, NULL);
+        ok(hr == S_OK, "got %08x\n", hr);
+        ok(fmt.cfFormat == third_fmt.cfFormat, "formats don't match\n");
+        hr = IEnumFORMATETC_Next(clone, 1, &fmt, NULL);
+        ok(hr == S_OK, "got %08x\n", hr);
+        ok(fmt.cfFormat == third_fmt.cfFormat, "formats don't match\n");
+        IEnumFORMATETC_Release(clone);
+    }
+
     IEnumFORMATETC_Release(enum_fmt);
     IDataObject_Release(data);
 }




More information about the wine-cvs mailing list