Module: wine Branch: master Commit: a882bb6a2cbcb18d97c561156b885ce20a42f535 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a882bb6a2cbcb18d97c561156b...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Jan 21 23:31:12 2009 +0100
advapi32/tests: Add some more tests for GetServiceDisplayName.
---
dlls/advapi32/tests/service.c | 81 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 81 insertions(+), 0 deletions(-)
diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c index c198cd7..936978a 100644 --- a/dlls/advapi32/tests/service.c +++ b/dlls/advapi32/tests/service.c @@ -416,6 +416,8 @@ static void test_get_displayname(void) DWORD displaysize, tempsize, tempsizeW; static const CHAR deadbeef[] = "Deadbeef"; static const WCHAR spoolerW[] = {'S','p','o','o','l','e','r',0}; + static const WCHAR deadbeefW[] = {'D','e','a','d','b','e','e','f',0}; + static const WCHAR abcW[] = {'A','B','C',0}; static const CHAR servicename[] = "Winetest"; static const CHAR pathname[] = "we_dont_care.exe";
@@ -452,6 +454,85 @@ static void test_get_displayname(void) ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError());
+ SetLastError(0xdeadbeef); + ret = GetServiceDisplayNameA(scm_handle, deadbeef, NULL, &displaysize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(displaysize == 1, "Service size expected 1, got %d\n", displaysize); + + displaysize = 15; + strcpy(displayname, "ABC"); + ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(displaysize == 15, "Service size expected 15, got %d\n", displaysize); + ok(displayname[0] == 0, "Service name not empty\n"); + + displaysize = 15; + lstrcpyW( displaynameW, abcW ); + ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(displaysize == 15, "Service size expected 15, got %d\n", displaysize); + ok(displaynameW[0] == 0, "Service name not empty\n"); + + displaysize = 0; + strcpy(displayname, "ABC"); + ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(displaysize == 1, "Service size expected 1, got %d\n", displaysize); + ok(displayname[0] == 'A', "Service name changed\n"); + + displaysize = 0; + lstrcpyW( displaynameW, abcW ); + ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize); + ok(!ret, "Expected failure\n"); + todo_wine ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + ok(displaynameW[0] == 'A', "Service name changed\n"); + + displaysize = 1; + strcpy(displayname, "ABC"); + ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(displaysize == 1, "Service size expected 1, got %d\n", displaysize); + ok(displayname[0] == 0, "Service name not empty\n"); + + displaysize = 1; + lstrcpyW( displaynameW, abcW ); + ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize); + ok(!ret, "Expected failure\n"); + todo_wine ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + todo_wine ok(displaynameW[0] == 'A', "Service name changed\n"); + + displaysize = 2; + strcpy(displayname, "ABC"); + ret = GetServiceDisplayNameA(scm_handle, deadbeef, displayname, &displaysize); + ok(!ret, "Expected failure\n"); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize); + ok(displayname[0] == 0, "Service name not empty\n"); + + displaysize = 2; + lstrcpyW( displaynameW, abcW ); + ret = GetServiceDisplayNameW(scm_handle, deadbeefW, displaynameW, &displaysize); + ok(!ret, "Expected failure\n"); + todo_wine ok(displaysize == 2, "Service size expected 2, got %d\n", displaysize); + ok(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST, + "Expected ERROR_SERVICE_DOES_NOT_EXIST, got %d\n", GetLastError()); + ok(displaynameW[0] == 0, "Service name not empty\n"); + /* Check if 'Spooler' exists */ svc_handle = OpenServiceA(scm_handle, spooler, GENERIC_READ); if (!svc_handle)