Module: wine Branch: master Commit: 295061a2804f95c7517d6538f3b0704b21a1b91d URL: http://source.winehq.org/git/wine.git/?a=commit;h=295061a2804f95c7517d6538f3...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Aug 17 14:26:59 2016 +0900
ole32/tests: Make the clipboard test more strict and remove Win9x compatibility cruft.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ole32/tests/clipboard.c | 64 +++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 36 deletions(-)
diff --git a/dlls/ole32/tests/clipboard.c b/dlls/ole32/tests/clipboard.c index 1a8301e..004b807 100644 --- a/dlls/ole32/tests/clipboard.c +++ b/dlls/ole32/tests/clipboard.c @@ -612,9 +612,7 @@ static void test_enum_fmtetc(IDataObject *src) if(src) { hr = IEnumFORMATETC_Next(src_enum, 1, &src_fmt, NULL); - ok(hr == S_FALSE || - broken(hr == S_OK && count == 5), /* win9x and winme don't enumerate duplicated cf's */ - "%d: got %08x\n", count, hr); + ok(hr == S_FALSE, "%d: got %08x\n", count, hr); IEnumFORMATETC_Release(src_enum); }
@@ -795,8 +793,7 @@ static void test_cf_dataobject(IDataObject *data) ok(DataObjectImpl_GetDataHere_calls == 1, "got %d\n", DataObjectImpl_GetDataHere_calls); ptr = GlobalLock(h); size = GlobalSize(h); - ok(size == strlen(cmpl_stm_data) || - broken(size > strlen(cmpl_stm_data)), /* win9x, winme */ + ok(size == strlen(cmpl_stm_data), "expected %d got %d\n", lstrlenA(cmpl_stm_data), size); ok(!memcmp(ptr, cmpl_stm_data, strlen(cmpl_stm_data)), "mismatch\n"); GlobalUnlock(h); @@ -812,8 +809,7 @@ static void test_cf_dataobject(IDataObject *data) ok(DataObjectImpl_GetDataHere_calls == 0, "got %d\n", DataObjectImpl_GetDataHere_calls); ptr = GlobalLock(h); size = GlobalSize(h); - ok(size == strlen(cmpl_text_data) + 1 || - broken(size > strlen(cmpl_text_data) + 1), /* win9x, winme */ + ok(size == strlen(cmpl_text_data) + 1, "expected %d got %d\n", lstrlenA(cmpl_text_data) + 1, size); ok(!memcmp(ptr, cmpl_text_data, strlen(cmpl_text_data) + 1), "mismatch\n"); GlobalUnlock(h); @@ -830,6 +826,7 @@ static void test_set_clipboard(void) ULONG ref; LPDATAOBJECT data1, data2, data_cmpl; HGLOBAL hblob, h; + void *ptr;
cf_stream = RegisterClipboardFormatA("stream format"); cf_storage = RegisterClipboardFormatA("storage format"); @@ -855,10 +852,7 @@ static void test_set_clipboard(void)
CoInitialize(NULL); hr = OleSetClipboard(data1); - ok(hr == CO_E_NOTINITIALIZED || - hr == CLIPBRD_E_CANT_SET, /* win9x */ - "OleSetClipboard should have failed with " - "CO_E_NOTINITIALIZED or CLIPBRD_E_CANT_SET instead of 0x%08x\n", hr); + ok(hr == CO_E_NOTINITIALIZED, "OleSetClipboard failed with 0x%08x\n", hr); CoUninitialize();
hr = OleInitialize(NULL); @@ -890,14 +884,18 @@ static void test_set_clipboard(void) /* put a format directly onto the clipboard to show OleFlushClipboard doesn't empty the clipboard */ hblob = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE|GMEM_ZEROINIT, 10); - OpenClipboard(NULL); + ptr = GlobalLock( hblob ); + ok( ptr && ptr != hblob, "got fixed block %p / %p\n", ptr, hblob ); + GlobalUnlock( hblob ); + ok( OpenClipboard(NULL), "OpenClipboard failed\n" ); h = SetClipboardData(cf_onemore, hblob); ok(h == hblob, "got %p\n", h); h = GetClipboardData(cf_onemore); - ok(h == hblob || - broken(h != NULL), /* win9x */ - "got %p\n", h); - CloseClipboard(); + ok(h == hblob, "got %p / %p\n", h, hblob); + ptr = GlobalLock( h ); + ok( ptr && ptr != h, "got fixed block %p / %p\n", ptr, h ); + GlobalUnlock( hblob ); + ok( CloseClipboard(), "CloseClipboard failed\n" );
hr = OleFlushClipboard(); ok(hr == S_OK, "failed to flush clipboard, hr = 0x%08x\n", hr); @@ -909,12 +907,13 @@ static void test_set_clipboard(void) ok(hr == S_FALSE, "expect S_FALSE, hr = 0x%08x\n", hr);
/* format should survive the flush */ - OpenClipboard(NULL); + ok( OpenClipboard(NULL), "OpenClipboard failed\n" ); h = GetClipboardData(cf_onemore); - ok(h == hblob || - broken(h != NULL), /* win9x */ - "got %p\n", h); - CloseClipboard(); + ok(h == hblob, "got %p\n", h); + ptr = GlobalLock( h ); + ok( ptr && ptr != h, "got fixed block %p / %p\n", ptr, h ); + GlobalUnlock( hblob ); + ok( CloseClipboard(), "CloseClipboard failed\n" );
test_cf_dataobject(NULL);
@@ -981,9 +980,7 @@ static void test_consumer_refs(void) hr = OleGetClipboard(&get2); ok(hr == S_OK, "got %08x\n", hr);
- ok(get1 == get2 || - broken(get1 != get2), /* win9x, winme & nt4 */ - "data objects differ\n"); + ok(get1 == get2, "data objects differ\n"); refs = IDataObject_Release(get2); ok(refs == (get1 == get2 ? 1 : 0), "got %d\n", refs);
@@ -1359,19 +1356,14 @@ static void test_nonole_clipboard(void)
hr = IEnumFORMATETC_Next(enum_fmt, 1, &fmt, NULL); ok(hr == S_OK, "got %08x\n", hr); - ok(fmt.cfFormat == CF_UNICODETEXT || - broken(fmt.cfFormat == CF_METAFILEPICT), /* win9x and winme don't have CF_UNICODETEXT */ - "cf %04x\n", fmt.cfFormat); - if(fmt.cfFormat == CF_UNICODETEXT) - { - ok(fmt.ptd == NULL, "ptd %p\n", fmt.ptd); - ok(fmt.dwAspect == DVASPECT_CONTENT, "aspect %x\n", fmt.dwAspect); - ok(fmt.lindex == -1, "lindex %d\n", fmt.lindex); - ok(fmt.tymed == (TYMED_ISTREAM | TYMED_HGLOBAL), "tymed %x\n", fmt.tymed); + ok(fmt.cfFormat == CF_UNICODETEXT, "cf %04x\n", fmt.cfFormat); + ok(fmt.ptd == NULL, "ptd %p\n", fmt.ptd); + ok(fmt.dwAspect == DVASPECT_CONTENT, "aspect %x\n", fmt.dwAspect); + ok(fmt.lindex == -1, "lindex %d\n", fmt.lindex); + ok(fmt.tymed == (TYMED_ISTREAM | TYMED_HGLOBAL), "tymed %x\n", fmt.tymed);
- hr = IEnumFORMATETC_Next(enum_fmt, 1, &fmt, NULL); - 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 == CF_METAFILEPICT, "cf %04x\n", fmt.cfFormat); ok(fmt.ptd == NULL, "ptd %p\n", fmt.ptd); ok(fmt.dwAspect == DVASPECT_CONTENT, "aspect %x\n", fmt.dwAspect);