[ros-diffs] [jgardou] 47210: [ROSTESTS] - more tests for direct DC creation/deletion

jgardou at svn.reactos.org jgardou at svn.reactos.org
Sat May 15 01:19:17 CEST 2010


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/NtGdiCreateCompatibleDC.c?rev=47210&r1=47209&r2=47210&view=diff
==============================================================================
--- 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/NtGdiDeleteObjectApp.c?rev=47210&r1=47209&r2=47210&view=diff
==============================================================================
--- 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);




More information about the Ros-diffs mailing list