2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for AddFontResource
5 * PROGRAMMERS: Timo Kreuzer
12 void Test_AddFontResourceA()
14 CHAR szFileNameA
[MAX_PATH
];
15 CHAR szFileNameFont1A
[MAX_PATH
];
16 CHAR szFileNameFont2A
[MAX_PATH
];
19 GetWindowsDirectoryA(szFileNameA
,MAX_PATH
);
21 memcpy(szFileNameFont1A
,szFileNameA
,MAX_PATH
);
22 strcat(szFileNameFont1A
, "\\bin\\testdata\\test.ttf");
24 memcpy(szFileNameFont2A
,szFileNameA
,MAX_PATH
);
25 strcat(szFileNameFont2A
, "\\bin\\testdata\\test.otf");
27 RtlZeroMemory(szFileNameA
,MAX_PATH
);
30 * Start testing Ansi version
34 /* Testing NULL pointer */
35 SetLastError(ERROR_SUCCESS
);
36 result
= AddFontResourceA(NULL
);
37 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
38 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
40 /* Testing -1 pointer */
41 SetLastError(ERROR_SUCCESS
);
42 result
= AddFontResourceA((CHAR
*)-1);
43 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
44 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
46 /* Testing address 1 pointer */
47 SetLastError(ERROR_SUCCESS
);
48 result
= AddFontResourceA((CHAR
*)1);
49 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
50 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
52 /* Testing address empty string */
53 SetLastError(ERROR_SUCCESS
);
54 result
= AddFontResourceA("");
55 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
56 ok(GetLastError() == ERROR_INVALID_PARAMETER
, "GetLastError()=%ld\n", GetLastError());
58 /* Testing one ttf font */
59 SetLastError(ERROR_SUCCESS
);
60 result
= AddFontResourceA(szFileNameFont1A
);
61 ok(result
== 1, "AddFontResourceA(\"%s\") failed, result=%d\n", szFileNameFont1A
, result
);
62 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
64 /* Testing one otf font */
65 SetLastError(ERROR_SUCCESS
);
66 result
= AddFontResourceA(szFileNameFont2A
);
67 ok(result
== 1, "AddFontResourceA failed, result=%d\n", result
);
68 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
70 /* Testing two fonts */
71 SetLastError(ERROR_SUCCESS
);
72 sprintf(szFileNameA
,"%s|%s",szFileNameFont1A
, szFileNameFont2A
);
73 result
= AddFontResourceA(szFileNameA
);
74 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
75 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
77 SetLastError(ERROR_SUCCESS
);
78 sprintf(szFileNameA
,"%s |%s",szFileNameFont1A
, szFileNameFont2A
);
79 result
= AddFontResourceA(szFileNameA
);
80 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
81 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
83 SetLastError(ERROR_SUCCESS
);
84 sprintf(szFileNameA
,"%s | %s",szFileNameFont1A
, szFileNameFont2A
);
85 result
= AddFontResourceA(szFileNameA
);
86 ok(result
== 0, "AddFontResourceA succeeded, result=%d\n", result
);
87 ok(GetLastError() == ERROR_FILE_NOT_FOUND
, "GetLastError()=%ld\n", GetLastError());
90 GetCurrentDirectoryA(MAX_PATH
, szFileNameA
);
91 strcpy(szFileNameFont1A
, szFileNameA
);
92 strcat(szFileNameFont1A
, "\\bin\\testdata\\test.pfm");
94 strcpy(szFileNameFont2A
, szFileNameA
);
95 strcat(szFileNameFont2A
, "\\bin\\testdata\\test.pfb");
97 SetLastError(ERROR_SUCCESS
);
99 sprintf(szFileNameA
,"%s|%s", szFileNameFont1A
, szFileNameFont2A
);
100 result
= AddFontResourceA(szFileNameA
);
101 ok(result
== 1, "AddFontResourceA(\"%s|%s\") failed, result=%d\n",
102 szFileNameFont1A
, szFileNameFont2A
, result
);
103 ok(GetLastError() == ERROR_SUCCESS
, "GetLastError()=%ld\n", GetLastError());
105 sprintf(szFileNameA
,"%s | %s", szFileNameFont1A
, szFileNameFont2A
);
106 result
= AddFontResourceA(szFileNameA
);
107 ok(result
== 0, "AddFontResourceA(\"%s | %s\") succeeded, result=%d\n",
108 szFileNameFont1A
, szFileNameFont2A
, result
);
109 ok(GetLastError() == ERROR_FILE_NOT_FOUND
, "GetLastError()=%ld\n", GetLastError());
111 sprintf(szFileNameA
,"%s|%s", szFileNameFont2A
, szFileNameFont1A
);
112 result
= AddFontResourceA(szFileNameA
);
113 ok(result
== 0, "AddFontResourceA(\"%s|%s\") succeeded, result=%d\n",
114 szFileNameFont2A
, szFileNameFont1A
, result
);
115 ok(GetLastError() == ERROR_FILE_NOT_FOUND
, "GetLastError()=%ld\n", GetLastError());
120 START_TEST(AddFontResource
)
122 Test_AddFontResourceA();