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/N…
==============================================================================
--- 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/N…
==============================================================================
--- 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);