]> git.saurik.com Git - apple/libc.git/blame - tests/locale.c
Libc-1244.1.7.tar.gz
[apple/libc.git] / tests / locale.c
CommitLineData
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 10T_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 19T_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
30T_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}