1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for AddFontResource
5 * PROGRAMMERS: Timo Kreuzer
6 */
7
8 #include "precomp.h"
9
10 #define COUNT 26
11
Test_AddFontResourceA()12 void Test_AddFontResourceA()
13 {
14 CHAR szCurrentDir[MAX_PATH];
15 CHAR szFileNameFont1[MAX_PATH];
16 CHAR szFileNameFont2[MAX_PATH];
17 CHAR szFileName[MAX_PATH*2 + 3];
18 int result;
19
20 GetCurrentDirectoryA(MAX_PATH, szCurrentDir);
21
22 snprintf(szFileNameFont1, MAX_PATH, "%s\\testdata\\test.ttf", szCurrentDir);
23 snprintf(szFileNameFont2, MAX_PATH, "%s\\testdata\\test.otf", szCurrentDir);
24
25 //RtlZeroMemory(szFileNameA, sizeof(szFileNameA));
26
27 /* Testing NULL pointer */
28 SetLastError(ERROR_SUCCESS);
29 result = AddFontResourceA(NULL);
30 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
31 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
32
33 /* Testing -1 pointer */
34 SetLastError(ERROR_SUCCESS);
35 result = AddFontResourceA((CHAR*)-1);
36 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
37 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
38
39 /* Testing address 1 pointer */
40 SetLastError(ERROR_SUCCESS);
41 result = AddFontResourceA((CHAR*)1);
42 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
43 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
44
45 /* Testing address empty string */
46 SetLastError(ERROR_SUCCESS);
47 result = AddFontResourceA("");
48 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
49 ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError()=%ld\n", GetLastError());
50
51 /* Testing one ttf font */
52 SetLastError(ERROR_SUCCESS);
53 result = AddFontResourceA(szFileNameFont1);
54 ok(result == 1, "AddFontResourceA(\"%s\") failed, result=%d\n", szFileNameFont1, result);
55 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
56 RemoveFontResourceA(szFileNameFont1);
57
58 /* Testing one otf font */
59 SetLastError(ERROR_SUCCESS);
60 result = AddFontResourceA(szFileNameFont2);
61 ok(result == 1, "AddFontResourceA failed, result=%d\n", result);
62 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
63 RemoveFontResourceA(szFileNameFont2);
64
65 /* Testing two fonts */
66 SetLastError(ERROR_SUCCESS);
67 sprintf(szFileName,"%s|%s",szFileNameFont1, szFileNameFont2);
68 result = AddFontResourceA(szFileName);
69 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
70 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
71
72 SetLastError(ERROR_SUCCESS);
73 sprintf(szFileName,"%s |%s",szFileNameFont1, szFileNameFont2);
74 result = AddFontResourceA(szFileName);
75 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
76 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
77
78 SetLastError(ERROR_SUCCESS);
79 sprintf(szFileName,"%s | %s",szFileNameFont1, szFileNameFont2);
80 result = AddFontResourceA(szFileName);
81 ok(result == 0, "AddFontResourceA succeeded, result=%d\n", result);
82 ok(GetLastError() == ERROR_FILE_NOT_FOUND, "GetLastError()=%ld\n", GetLastError());
83
84 snprintf(szFileNameFont1, MAX_PATH, "%s\\testdata\\test.pfm", szCurrentDir);
85 snprintf(szFileNameFont2, MAX_PATH, "%s\\testdata\\test.pfb", szCurrentDir);
86
87 SetLastError(ERROR_SUCCESS);
88
89 sprintf(szFileName,"%s|%s", szFileNameFont1, szFileNameFont2);
90 result = AddFontResourceA(szFileName);
91 ok(result == 1, "AddFontResourceA(\"%s|%s\") failed, result=%d\n",
92 szFileNameFont1, szFileNameFont2, result);
93 ok(GetLastError() == ERROR_SUCCESS, "GetLastError()=%ld\n", GetLastError());
94 RemoveFontResourceA(szFileName);
95
96 sprintf(szFileName,"%s | %s", szFileNameFont1, szFileNameFont2);
97 result = AddFontResourceA(szFileName);
98 ok(result == 0, "AddFontResourceA(\"%s | %s\") succeeded, result=%d\n",
99 szFileNameFont1, szFileNameFont2, result);
100 ok(GetLastError() == ERROR_FILE_NOT_FOUND, "GetLastError()=%ld\n", GetLastError());
101 RemoveFontResourceA(szFileName);
102
103 sprintf(szFileName,"%s|%s", szFileNameFont2, szFileNameFont1);
104 result = AddFontResourceA(szFileName);
105 ok(result == 0, "AddFontResourceA(\"%s|%s\") succeeded, result=%d\n",
106 szFileNameFont2, szFileNameFont1, result);
107 ok(GetLastError() == ERROR_FILE_NOT_FOUND, "GetLastError()=%ld\n", GetLastError());
108 }
109
START_TEST(AddFontResource)110 START_TEST(AddFontResource)
111 {
112 Test_AddFontResourceA();
113 }
114
115