tolower_1.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <locale> 11 12// template <class charT> class ctype_byname; 13 14// charT tolower(charT) const; 15 16#include <locale> 17#include <cassert> 18 19int main() 20{ 21 { 22 std::locale l("en_US"); 23 { 24 typedef std::ctype<char> F; 25 const F& f = std::use_facet<F>(l); 26 27 assert(f.tolower(' ') == ' '); 28 assert(f.tolower('A') == 'a'); 29 assert(f.tolower('\x07') == '\x07'); 30 assert(f.tolower('.') == '.'); 31 assert(f.tolower('a') == 'a'); 32 assert(f.tolower('1') == '1'); 33 assert(f.tolower('\xDA') == '\xDA'); 34 assert(f.tolower('\xFA') == '\xFA'); 35 } 36 } 37 { 38 std::locale l("C"); 39 { 40 typedef std::ctype<char> F; 41 const F& f = std::use_facet<F>(l); 42 43 assert(f.tolower(' ') == ' '); 44 assert(f.tolower('A') == 'a'); 45 assert(f.tolower('\x07') == '\x07'); 46 assert(f.tolower('.') == '.'); 47 assert(f.tolower('a') == 'a'); 48 assert(f.tolower('1') == '1'); 49 assert(f.tolower('\xDA') == '\xDA'); 50 assert(f.tolower('\xFA') == '\xFA'); 51 } 52 } 53 { 54 std::locale l("en_US"); 55 { 56 typedef std::ctype<wchar_t> F; 57 const F& f = std::use_facet<F>(l); 58 59 assert(f.tolower(L' ') == L' '); 60 assert(f.tolower(L'A') == L'a'); 61 assert(f.tolower(L'\x07') == L'\x07'); 62 assert(f.tolower(L'.') == L'.'); 63 assert(f.tolower(L'a') == L'a'); 64 assert(f.tolower(L'1') == L'1'); 65 assert(f.tolower(L'\xDA') == L'\xFA'); 66 assert(f.tolower(L'\xFA') == L'\xFA'); 67 } 68 } 69 { 70 std::locale l("C"); 71 { 72 typedef std::ctype<wchar_t> F; 73 const F& f = std::use_facet<F>(l); 74 75 assert(f.tolower(L' ') == L' '); 76 assert(f.tolower(L'A') == L'a'); 77 assert(f.tolower(L'\x07') == L'\x07'); 78 assert(f.tolower(L'.') == L'.'); 79 assert(f.tolower(L'a') == L'a'); 80 assert(f.tolower(L'1') == L'1'); 81 assert(f.tolower(L'\xDA') == L'\xDA'); 82 assert(f.tolower(L'\xFA') == L'\xFA'); 83 } 84 } 85} 86