mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
38082ccbee
* frontend: Added support for message context to localisations. * frontend: Added string_view versions of the message lookup functions. * frontend: Added a few more folder options to the internal UI. * emu/softlist.cpp: Use more appropriate containers. * Switched to Python 3 by default - this will become a requirement. * Updated msgfmt.py for message context support. * frontend: Show all software item info in the internal UI. * frontend: Search alternate titles in software selection menu. * 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes). * frontend: Added software filters for common info fields. * frontend: Allow UI manager to hold onto persistent session data. * frontend: Cache software lists for eight machines. * frontend: Added support for loading localised system names. * frontend: Add UI for selecting localised system names.
28 lines
993 B
C
28 lines
993 B
C
#include "tests.h"
|
|
|
|
static int thunk_test = 1;
|
|
|
|
static utf8proc_int32_t custom(utf8proc_int32_t codepoint, void *thunk)
|
|
{
|
|
check(((int *) thunk) == &thunk_test, "unexpected thunk passed");
|
|
if (codepoint == 'a')
|
|
return 'b';
|
|
if (codepoint == 'S')
|
|
return 0x00df; /* ß */
|
|
return codepoint;
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
utf8proc_uint8_t input[] = {0x41,0x61,0x53,0x62,0xef,0xbd,0x81,0x00}; /* "AaSb\uff41" */
|
|
utf8proc_uint8_t correct[] = {0x61,0x62,0x73,0x73,0x62,0x61,0x00}; /* "abssba" */
|
|
utf8proc_uint8_t *output;
|
|
utf8proc_map_custom(input, 0, &output, UTF8PROC_CASEFOLD | UTF8PROC_COMPOSE | UTF8PROC_COMPAT | UTF8PROC_NULLTERM,
|
|
custom, &thunk_test);
|
|
printf("mapped \"%s\" -> \"%s\"\n", (char*)input, (char*)output);
|
|
check(strlen((char*) output) == 6, "incorrect output length");
|
|
check(!memcmp(correct, output, 7), "incorrect output data");
|
|
free(output);
|
|
printf("map_custom tests SUCCEEDED.\n");
|
|
return 0;
|
|
}
|