From 852368e095063be2c8ab19f65000ecff46dfae52 Mon Sep 17 00:00:00 2001 From: Dmitry Kislyuk Date: Mon, 20 Apr 2009 04:01:55 -0300 Subject: kernel32: Added GetPrivateProfileSection and GetPrivateProfileString tests for empty section scenario --- dlls/kernel32/tests/profile.c | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/dlls/kernel32/tests/profile.c b/dlls/kernel32/tests/profile.c index 87c0a73..142da40 100644 --- a/dlls/kernel32/tests/profile.c +++ b/dlls/kernel32/tests/profile.c @@ -186,7 +186,15 @@ static void test_profile_sections(void) broken(GetLastError() == 0xdeadbeef), /* Win9x, WinME */ "expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); - /* And a real one */ + /* Existing empty section with no keys */ + SetLastError(0xdeadbeef); + ret=GetPrivateProfileSectionA("section2", buf, sizeof(buf), testfile4); + ok( ret == 0, "expected return size 0, got %d\n", ret ); + ok( GetLastError() == ERROR_SUCCESS || + broken(GetLastError() == 0xdeadbeef), /* Win9x, WinME */ + "expected ERROR_SUCCESS, got %d\n", GetLastError()); + + /* Existing section with keys and values*/ SetLastError(0xdeadbeef); ret=GetPrivateProfileSectionA("section1", buf, sizeof(buf), testfile4); for( p = buf + strlen(buf) + 1; *p;p += strlen(p)+1) @@ -798,6 +806,18 @@ static void test_GetPrivateProfileString(const char *content, const char *descri ok(ret == 4, "Expected 4, got %d\n", ret); ok(!lstrcmpA(buf, "val1"), "Expected \"val1\", got \"%s\"\n", buf); + /* Existing section with no keys in an existing file */ + memset(buf, 0xc,sizeof(buf)); + SetLastError(0xdeadbeef); + ret=GetPrivateProfileStringA("section2", "DoesntExist", "", + buf, MAX_PATH, filename); + ok( ret == 0, "expected return size 0, got %d\n", ret ); + ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf); + todo_wine + ok( GetLastError() == 0xdeadbeef , "expected 0xdeadbeef, got %d\n", + GetLastError()); + + DeleteFileA(path); DeleteFileA(filename); } -- 1.5.6.3