From: Karl Williamson Date: Mon, 31 Dec 2012 03:28:20 +0000 (-0700) Subject: locale.t: Add tests for [:upper:], [:lower:] X-Git-Tag: upstream/5.20.0~4322 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=baa71cfd7d0dc1450df3a6e8b46877d839f20bb1;p=platform%2Fupstream%2Fperl.git locale.t: Add tests for [:upper:], [:lower:] If our uc() and lc() functions are working properly, and the locale is properly set up, things that are uppercase and not lowercase should match [:upper:], and vice-versa. This adds tests for that. --- diff --git a/lib/locale.t b/lib/locale.t index 800824f..36544d1 100644 --- a/lib/locale.t +++ b/lib/locale.t @@ -762,6 +762,47 @@ foreach $Locale (@Locale) { debug "# lower = ", join("", sort keys %lower ), "\n"; debug "# BoThCaSe = ", join("", sort keys %BoThCaSe), "\n"; + my @failures; + foreach my $x (sort keys %UPPER) { + my $ok; + if ($is_utf8_locale) { + use locale ':not_characters'; + $ok = $x =~ /[[:upper:]]/; + } + else { + use locale; + $ok = $x =~ /[[:upper:]]/; + } + push @failures, $x unless $ok; + } + my $message = ""; + $locales_test_number++; + $test_names{$locales_test_number} = 'Verify that /[[:upper:]]/ matches sieved uppercase characters.'; + $message = 'Failed for ' . join ", ", @failures if @failures; + tryneoalpha($Locale, $locales_test_number, scalar @failures == 0, $message); + + $message = ""; + undef @failures; + + foreach my $x (sort keys %lower) { + my $ok; + if ($is_utf8_locale) { + use locale ':not_characters'; + $ok = $x =~ /[[:lower:]]/; + } + else { + use locale; + $ok = $x =~ /[[:lower:]]/; + } + push @failures, $x unless $ok; + } + + $locales_test_number++; + $test_names{$locales_test_number} = 'Verify that /[[:lower:]]/ matches sieved lowercase characters.'; + $message = 'Failed for ' . join ", ", @failures if @failures; + tryneoalpha($Locale, $locales_test_number, scalar @failures == 0, $message); + $message = ""; + { # Find the alphabetic characters that are not considered alphabetics # in the default (C) locale.