From c8fb8c020163d144bdde20b9cf6f49ff3ce99272 Mon Sep 17 00:00:00 2001 From: James Hawkins Date: Wed, 19 Sep 2007 23:37:49 -0500 Subject: [PATCH] user32: Add a test that shows ddeml string handles use local atoms. --- dlls/user32/tests/dde.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c index b12eb15edec..811fa286d4f 100644 --- a/dlls/user32/tests/dde.c +++ b/dlls/user32/tests/dde.c @@ -302,6 +302,7 @@ static void test_DdeCreateStringHandleW(DWORD dde_inst, int codepage) HSZ str_handle; WCHAR bufW[256]; char buf[256]; + ATOM atom; int ret; str_handle = DdeCreateStringHandleW(dde_inst, dde_string, codepage); @@ -350,6 +351,29 @@ static void test_DdeCreateStringHandleW(DWORD dde_inst, int codepage) ok(!lstrcmpW(dde_string, (LPCWSTR)buf), "DdeQueryStringW returned wrong string\n"); } + if (codepage == CP_WINANSI) + { + atom = FindAtomA((LPSTR)dde_string); + ok(atom != 0, "Expected a valid atom\n"); + + SetLastError(0xdeadbeef); + atom = GlobalFindAtomA((LPSTR)dde_string); + ok(atom == 0, "Expected 0, got %d\n", atom); + ok(GetLastError() == ERROR_FILE_NOT_FOUND, + "Expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); + } + else + { + atom = FindAtomW(dde_string); + ok(atom != 0, "Expected a valid atom\n"); + + SetLastError(0xdeadbeef); + atom = GlobalFindAtomW(dde_string); + ok(atom == 0, "Expected 0, got %d\n", atom); + ok(GetLastError() == ERROR_FILE_NOT_FOUND, + "Expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); + } + ok(DdeFreeStringHandle(dde_inst, str_handle), "DdeFreeStringHandle failed\n"); }