Jeff Latimer : user32/tests: Add tests for for invalid DDE conditions.
Alexandre Julliard
julliard at winehq.org
Mon Aug 18 10:47:14 CDT 2008
Module: wine
Branch: master
Commit: 544c1e5cd131ce34277b97f8cec337be8c0e5a7f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=544c1e5cd131ce34277b97f8cec337be8c0e5a7f
Author: Jeff Latimer <lats at yless4u.com.au>
Date: Tue Aug 5 22:18:27 2008 +1000
user32/tests: Add tests for for invalid DDE conditions.
---
dlls/user32/tests/dde.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c
index 92ce3a9..d41ccdd 100644
--- a/dlls/user32/tests/dde.c
+++ b/dlls/user32/tests/dde.c
@@ -1372,6 +1372,53 @@ todo_wine {
DestroyWindow(hwnd_server);
}
+static void test_initialisation(void)
+{
+ UINT ret;
+ DWORD res;
+ HDDEDATA hdata;
+ HSZ server, topic, item;
+ DWORD client_pid;
+ HCONV conversation;
+
+ /* Initialise without a valid server window. */
+ client_pid = 0;
+ ret = DdeInitializeA(&client_pid, client_ddeml_callback, APPCMD_CLIENTONLY, 0);
+ ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret);
+
+
+ server = DdeCreateStringHandleA(client_pid, "TestDDEService", CP_WINANSI);
+ topic = DdeCreateStringHandleA(client_pid, "TestDDETopic", CP_WINANSI);
+
+ DdeGetLastError(client_pid);
+
+ /* There is no server window so no conversation can be extracted */
+ conversation = DdeConnect(client_pid, server, topic, NULL);
+ ok(conversation == NULL, "Expected NULL conversation, %p\n", conversation);
+ ret = DdeGetLastError(client_pid);
+ ok(ret == DMLERR_NO_CONV_ESTABLISHED, "Expected DMLERR_NO_CONV_ESTABLISHED, got %d\n", ret);
+
+ DdeFreeStringHandle(client_pid, server);
+
+ item = DdeCreateStringHandleA(client_pid, "request", CP_WINANSI);
+
+ /* There is no converstation so an invalild parameter results */
+ res = 0xdeadbeef;
+ DdeGetLastError(client_pid);
+ hdata = DdeClientTransaction(NULL, 0, conversation, item, CF_TEXT, XTYP_REQUEST, default_timeout, &res);
+ ret = DdeGetLastError(client_pid);
+todo_wine
+ ok(ret == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", ret);
+ ok(res == 0xdeadbeef, "Expected 0xdeadbeef, got %08x\n", res);
+
+ DdeFreeStringHandle(client_pid, server);
+ ret = DdeDisconnect(conversation);
+ ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
+
+ ret = DdeUninitialize(client_pid);
+ ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
+}
+
static void test_DdeCreateStringHandleW(DWORD dde_inst, int codepage)
{
static const WCHAR dde_string[] = {'D','D','E',' ','S','t','r','i','n','g',0};
@@ -2088,6 +2135,8 @@ START_TEST(dde)
return;
}
+ test_initialisation();
+
ZeroMemory(&startup, sizeof(STARTUPINFO));
sprintf(buffer, "%s dde ddeml", argv[0]);
startup.cb = sizeof(startup);
More information about the wine-cvs
mailing list