Author: jgardou Date: Sat May 15 01:19:16 2010 New Revision: 47210
URL: http://svn.reactos.org/svn/reactos?rev=47210&view=rev Log: [ROSTESTS] - more tests for direct DC creation/deletion
Modified: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiCreateCompatibleDC.c trunk/rostests/apitests/w32knapi/ntgdi/NtGdiDeleteObjectApp.c
Modified: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiCreateCompatibleDC.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/Nt... ============================================================================== --- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiCreateCompatibleDC.c [iso-8859-1] (original) +++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiCreateCompatibleDC.c [iso-8859-1] Sat May 15 01:19:16 2010 @@ -21,6 +21,8 @@ /* The default pen should be GetStockObject(BLACK_PEN) */ hObj = SelectObject(hDC, GetStockObject(WHITE_PEN)); TEST(hObj == GetStockObject(BLACK_PEN)); + + TEST(NtGdiDeleteObjectApp(hDC) != 0);
TEST(NtGdiDeleteObjectApp(hDC) != 0);
Modified: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiDeleteObjectApp.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/Nt... ============================================================================== --- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiDeleteObjectApp.c [iso-8859-1] (original) +++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiDeleteObjectApp.c [iso-8859-1] Sat May 15 01:19:16 2010 @@ -5,6 +5,7 @@ HDC hdc; HBITMAP hbmp; HBRUSH hbrush; + HPEN hpen;
/* Try to delete 0 */ SetLastError(0); @@ -23,7 +24,31 @@ TEST(NtGdiDeleteObjectApp(hdc) == 1); TEST(GetLastError() == 0); TEST(IsHandleValid(hdc) == 0); - + + /* Delete a display DC */ + SetLastError(0); + hdc = CreateDC("DISPLAY", NULL, NULL, NULL); + ASSERT(IsHandleValid(hdc) == 1); + TEST((hpen=SelectObject(hdc, GetStockObject(WHITE_PEN))) != NULL); + SelectObject(hdc, hpen); + TEST(NtGdiDeleteObjectApp(hdc) != 0); + TEST(GetLastError() == 0); + TEST(IsHandleValid(hdc) == 1); + TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL); + TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError()); + + /* Once more */ + SetLastError(0); + hdc = GetDC(0); + ASSERT(IsHandleValid(hdc) == 1); + TEST(NtGdiDeleteObjectApp(hdc) != 0); + TEST(GetLastError() == 0); + TEST(IsHandleValid(hdc) == 1); + TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL); + TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError()); + /* Make sure */ + TEST(NtUserCallOneParam((DWORD_PTR)hdc, ONEPARAM_ROUTINE_RELEASEDC) == 0); + /* Delete a display DC */ SetLastError(0); hdc = CreateDC("DISPLAY", NULL, NULL, NULL);