This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade version from version 0.9908 to 0.9909
[perl5.git] / cpan / version / t / 07locale.t
index 784bc11..7af61b5 100644 (file)
@@ -7,53 +7,49 @@
 use File::Basename;
 use File::Temp qw/tempfile/;
 use POSIX qw/locale_h/;
-use Test::More tests => 9;
+use Test::More tests => 7;
 use Config;
 
 BEGIN {
-    use_ok('version', 0.9902);
+    use_ok('version', 0.9909);
 }
 
 SKIP: {
-        skip 'No locale testing for Perl < 5.6.0', 8 if $] < 5.006;
-        skip 'No locale testing without d_setlocale', 8 if(!$Config{d_setlocale});
+       skip 'No locale testing for Perl < 5.6.0', 6 if $] < 5.006;
+       skip 'No locale testing without d_setlocale', 6
+           if(!$Config{d_setlocale});
+
        # test locale handling
        my $warning;
 
-        use locale;
-
        local $SIG{__WARN__} = sub { $warning = $_[0] };
 
        my $ver = 1.23;  # has to be floating point number
        my $loc;
        my $orig_loc = setlocale(LC_NUMERIC);
-       is ($ver, '1.23', 'Not using locale yet');
+       ok ($ver eq "1.23", 'Not using locale yet');  # Don't use is(),
+                                                     # because have to
+                                                     # evaluate in current
+                                                     # scope
+       use if $^O !~ /android/, 'locale';
+
        while (<DATA>) {
            chomp;
            $loc = setlocale( LC_ALL, $_);
-           last if localeconv()->{decimal_point} eq ',';
+           last if $loc && localeconv()->{decimal_point} eq ',';
        }
-       skip 'Cannot test locale handling without a comma locale', 7
+       skip 'Cannot test locale handling without a comma locale', 5
            unless $loc and localeconv()->{decimal_point} eq ',';
 
-       diag ("Testing locale handling with $loc") unless $ENV{PERL_CORE};
-
-        setlocale(LC_NUMERIC, $loc);
-       ok ("$ver eq '1,23'", "Using locale: $loc");
+       setlocale(LC_NUMERIC, $loc);
+       $ver = 1.23;  # has to be floating point number
+       ok ($ver eq "1,23", "Using locale: $loc");
        $v = version->new($ver);
        unlike($warning, qr/Version string '1,23' contains invalid data/,
            "Process locale-dependent floating point");
-       ok ($v == "1.23", "Locale doesn't apply to version objects");
+       ok ($v eq "1.23", "Locale doesn't apply to version objects");
        ok ($v == $ver, "Comparison to locale floating point");
 
-        {
-            no locale;
-            ok ("$ver eq '1.23'", "Outside of scope of use locale");
-        }
-
-        ok("\"$ver\"+1 gt 2.22" && \"$ver\"+1 lt 2.24",
-           "Can do math when radix is not a dot");  # [perl 115800]
-
        setlocale( LC_ALL, $orig_loc); # reset this before possible skip
        skip 'Cannot test RT#46921 with Perl < 5.008', 1
            if ($] < 5.008);