2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: Test for FormatMessage and resources
5 * PROGRAMMERS: Pierre Schweitzer
9 #include <FormatMessage.h>
11 WCHAR First
[] = L
"This is a test message.\r\n";
12 WCHAR Second
[] = L
"This is a second test message.\r\n";
14 START_TEST(FormatMessage
)
20 Written
= FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE
| FORMAT_MESSAGE_ALLOCATE_BUFFER
,
21 NULL
, MSG_FIRST_MESSAGE
, 0, (LPWSTR
)&Buffer
, 0, NULL
);
22 ok(Written
!= 0, "Unexpected error: %lx\n", GetLastError());
23 ok(Buffer
!= NULL
, "No buffer allocated\n");
24 ok(Written
== (sizeof(First
) - sizeof(UNICODE_NULL
)) / sizeof(WCHAR
),
25 "Invalid size: %ld (expected: %d)\n",
26 Written
, (sizeof(First
) - sizeof(UNICODE_NULL
)) / sizeof(WCHAR
));
27 ok(RtlCompareMemory(Buffer
, First
, sizeof(First
) - sizeof(UNICODE_NULL
)) ==
28 sizeof(First
) - sizeof(UNICODE_NULL
),
29 "Mismatching string: %S (expected : %S)\n", Buffer
, First
);
33 Written
= FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE
| FORMAT_MESSAGE_ALLOCATE_BUFFER
,
34 NULL
, MSG_SECOND_MESSAGE
, 0, (LPWSTR
)&Buffer
, 0, NULL
);
35 ok(Written
!= 0, "Unexpected error: %lx\n", GetLastError());
36 ok(Buffer
!= NULL
, "No buffer allocated\n");
37 ok(Written
== (sizeof(Second
) - sizeof(UNICODE_NULL
)) / sizeof(WCHAR
),
38 "Invalid size: %ld (expected: %d)\n",
39 Written
, (sizeof(Second
) - sizeof(UNICODE_NULL
)) / sizeof(WCHAR
));
40 ok(RtlCompareMemory(Buffer
, Second
, sizeof(Second
) - sizeof(UNICODE_NULL
)) ==
41 sizeof(Second
) - sizeof(UNICODE_NULL
),
42 "Mismatching string: %S (expected: %S)\n", Buffer
, Second
);
46 Written
= FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE
| FORMAT_MESSAGE_ALLOCATE_BUFFER
,
47 NULL
, MSG_SECOND_MESSAGE
+ 1, 0, (LPWSTR
)&Buffer
, 0, NULL
);
48 ok(Written
== 0, "Unexpected success: %ld\n", Written
);
49 ok(Buffer
== NULL
, "Unexpected success: %p\n", Buffer
);
50 ok(GetLastError() == 0x13d, "Unexpected error: %lx\n", GetLastError());