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