[GDI32_APITEST]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 25 Apr 2012 18:14:52 +0000 (18:14 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 25 Apr 2012 18:14:52 +0000 (18:14 +0000)
Add more tests for SetWindowExtEx

svn path=/trunk/; revision=56423

rostests/apitests/gdi32/SetWindowExtEx.c

index 99879b9..ef53fea 100644 (file)
@@ -26,24 +26,55 @@ void Test_SetWindowExtEx()
 
     SetLastError(0);
     ret = SetWindowExtEx(0, 0, 0, NULL);
-    TEST(GetLastError() == ERROR_INVALID_HANDLE);
+    ok_err(ERROR_INVALID_HANDLE);
     TEST(ret == 0);
 
     SetLastError(0);
     ret = SetWindowExtEx((HDC)0x1234, 0, 0, NULL);
-    TEST(GetLastError() == ERROR_INVALID_HANDLE);
+    ok_err(ERROR_INVALID_HANDLE);
+    TEST(ret == 0);
+
+    SetLastError(0);
+    ret = SetWindowExtEx((HDC)0x10000, 0, 0, NULL);
+    ok_err(ERROR_INVALID_PARAMETER);
+    TEST(ret == 0);
+
+    SetLastError(0);
+    ret = SetWindowExtEx((HDC)0x210000, 0, 0, NULL); // GDILoObjType_LO_ALTDC_TYPE
+    ok_err(ERROR_INVALID_HANDLE);
+    TEST(ret == 0);
+
+    SetLastError(0);
+    ret = SetWindowExtEx((HDC)0x260000, 0, 0, NULL); // GDILoObjType_LO_METAFILE16_TYPE
+    ok_err(ERROR_INVALID_HANDLE);
+    TEST(ret == 0);
+
+    SetLastError(0);
+    ret = SetWindowExtEx((HDC)0x460000, 0, 0, NULL); // GDILoObjType_LO_METAFILE_TYPE
+    ok_err(ERROR_INVALID_HANDLE);
+    TEST(ret == 0);
+
+    SetLastError(0);
+    ret = SetWindowExtEx((HDC)0x660000, 0, 0, NULL); // GDILoObjType_LO_METADC16_TYPE
+    ok_err(ERROR_INVALID_HANDLE);
     TEST(ret == 0);
 
     SetLastError(0);
     ret = SetWindowExtEx(hDC, 0, 0, NULL);
-    TEST(GetLastError() == 0);
+    ok_err(0);
     TEST(ret == 1);
 
+    /* Test 16 bit handle */
+    SetLastError(0);
+    ret = SetWindowExtEx((HDC)((ULONG_PTR)hDC & 0xffff), 0, 0, NULL);
+    ok_err(ERROR_INVALID_HANDLE);
+    TEST(ret == 0);
+
     WindowExt.cx = 1234;
     WindowExt.cy = 6789;
     SetLastError(0);
     ret = SetWindowExtEx(0, 0, 0, &WindowExt);
-    TEST(GetLastError() == ERROR_INVALID_HANDLE);
+    ok_err(ERROR_INVALID_HANDLE);
     TEST(ret == 0);
     TEST(WindowExt.cx == 1234);
     TEST(WindowExt.cy == 6789);
@@ -53,7 +84,7 @@ void Test_SetWindowExtEx()
     /* Test with a deleted DC */
     SetLastError(0);
     ret = SetWindowExtEx(hDC, 0, 0, NULL);
-    TEST(GetLastError() == ERROR_INVALID_PARAMETER);
+    ok_err(ERROR_INVALID_PARAMETER);
     TEST(ret == 0);
 
     hDC = CreateCompatibleDC(0);