2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for GetStockObject
5 * PROGRAMMERS: Timo Kreuzer
12 #include <include/ntgdityp.h>
13 #include <include/ntgdihdl.h>
15 #define TEST(x) ok(x, #x"\n")
16 #define RTEST(x) ok(x, #x"\n")
18 void Test_GetStockObject()
20 /* Test limits and error */
21 SetLastError(ERROR_SUCCESS
);
22 RTEST(GetStockObject(0) != NULL
);
23 TEST(GetStockObject(20) != NULL
);
24 RTEST(GetStockObject(21) != NULL
);
25 RTEST(GetStockObject(-1) == NULL
);
26 RTEST(GetStockObject(9) == NULL
);
27 RTEST(GetStockObject(22) == NULL
);
28 RTEST(GetLastError() == ERROR_SUCCESS
);
30 /* Test for the stock bit */
31 RTEST((UINT_PTR
)GetStockObject(WHITE_BRUSH
) && GDI_HANDLE_STOCK_MASK
);
33 /* Test for correct types */
34 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(WHITE_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 0 */
35 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(LTGRAY_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 1 */
36 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(GRAY_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 1 */
37 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(DKGRAY_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 1 */
38 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(BLACK_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 1 */
39 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(NULL_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 1 */
40 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(WHITE_PEN
)) == GDI_OBJECT_TYPE_PEN
); /* 6 */
41 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(BLACK_PEN
)) == GDI_OBJECT_TYPE_PEN
); /* 7 */
42 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(NULL_PEN
)) == GDI_OBJECT_TYPE_PEN
); /* 8 */
43 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(OEM_FIXED_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 10 */
44 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(ANSI_FIXED_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 11 */
45 TEST(GDI_HANDLE_GET_TYPE(GetStockObject(ANSI_VAR_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 12 */
46 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(SYSTEM_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 13 */
47 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(DEVICE_DEFAULT_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 14 */
48 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(DEFAULT_PALETTE
)) == GDI_OBJECT_TYPE_PALETTE
); /* 15 */
49 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(SYSTEM_FIXED_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 16 */
50 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(DEFAULT_GUI_FONT
)) == GDI_OBJECT_TYPE_FONT
); /* 17 */
51 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(DC_BRUSH
)) == GDI_OBJECT_TYPE_BRUSH
); /* 18 */
52 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(DC_PEN
)) == GDI_OBJECT_TYPE_PEN
); /* 19 */
53 TEST(GDI_HANDLE_GET_TYPE(GetStockObject(20)) == GDI_OBJECT_TYPE_COLORSPACE
); /* 20 */
54 RTEST(GDI_HANDLE_GET_TYPE(GetStockObject(21)) == GDI_OBJECT_TYPE_BITMAP
); /* 21 */
57 START_TEST(GetStockObject
)
59 Test_GetStockObject();