]>
Commit | Line | Data |
---|---|---|
974e3884 A |
1 | #include <locale.h> |
2 | #include <stdarg.h> | |
3 | #include <stdio.h> | |
4 | #include <wchar.h> | |
5 | #include <wctype.h> | |
6 | #include <xlocale.h> | |
7 | ||
8 | #include <darwintest.h> | |
9 | ||
b061a43b | 10 | T_DECL(locale_PR_23679075, "converts a cyrillic a to uppercase") |
974e3884 A |
11 | { |
12 | locale_t loc = newlocale(LC_COLLATE_MASK|LC_CTYPE_MASK, "ru_RU", 0); | |
13 | T_ASSERT_NOTNULL(loc, "newlocale(LC_COLLATE_MASK|LC_CTYPE_MASK, \"ru_RU\", 0) should return a locale"); | |
14 | ||
15 | T_ASSERT_EQ(towupper_l(0x0430, loc), 0x0410, NULL); | |
16 | freelocale(loc); | |
17 | } | |
18 | ||
b061a43b | 19 | T_DECL(locale_PR_24165555, "swprintf with Russian chars") |
974e3884 A |
20 | { |
21 | setlocale(LC_ALL, "ru_RU.UTF-8"); | |
22 | ||
23 | wchar_t buffer[256]; | |
24 | T_EXPECT_POSIX_SUCCESS(swprintf(buffer, 256, L"%ls", L"English: Hello World"), "English"); | |
25 | T_EXPECT_POSIX_SUCCESS(swprintf(buffer, 256, L"%ls", L"Russian: ру́сский язы́к"), "Russian"); | |
26 | ||
27 | setlocale(LC_ALL, ""); | |
28 | } | |
b061a43b A |
29 | |
30 | T_DECL(locale_PR_28774201, "return code on bad locale") | |
31 | { | |
32 | T_EXPECT_NULL(newlocale(LC_COLLATE_MASK | LC_CTYPE_MASK, "foobar", NULL), NULL); | |
33 | T_EXPECT_EQ(errno, ENOENT, NULL); | |
34 | } |