1/* Test of test whether an UTF-16 string is entirely upper case. 2 Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3 4 This program is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 3 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 17/* Written by Bruno Haible <bruno@clisp.org>, 2009. */ 18 19#include <config.h> 20 21#include "unicase.h" 22 23#include "unistr.h" 24#include "macros.h" 25 26#define UNIT uint16_t 27#include "test-is-uppercase.h" 28#undef UNIT 29 30static void 31test_nonascii (int (*my_is) (const uint16_t *, size_t, const char *, bool *)) 32{ 33 /* Test cases from Unicode 5.1.0. */ 34 { 35 static const uint16_t input[] = { 0x24D7 }; 36 bool result; 37 38 ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); 39 ASSERT (result == false); 40 } 41 { 42 static const uint16_t input[] = { 0x24BD }; 43 bool result; 44 45 ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); 46 ASSERT (result == true); 47 } 48 { 49 static const uint16_t input[] = { 0x02B0 }; 50 bool result; 51 52 ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); 53 ASSERT (result == true); 54 } 55 { 56 static const uint16_t input[] = { 0x1D34 }; 57 bool result; 58 59 ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); 60 ASSERT (result == true); 61 } 62 { 63 static const uint16_t input[] = { 0x02BD }; 64 bool result; 65 66 ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0); 67 ASSERT (result == true); 68 } 69} 70 71int 72main () 73{ 74 test_ascii (u16_is_uppercase); 75 test_nonascii (u16_is_uppercase); 76 77 return 0; 78} 79