This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
dist/Data-Dumper/t/quotekeys.t: Generalize for EBCDIC
authorKarl Williamson <khw@cpan.org>
Sun, 26 Oct 2014 03:08:52 +0000 (21:08 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 13 Mar 2015 16:53:11 +0000 (10:53 -0600)
dist/Data-Dumper/t/quotekeys.t

index a858828..0f6313a 100644 (file)
@@ -26,6 +26,8 @@ my %d = (
     alpha   => 'a',
 );
 
+my $is_ascii = ord("A") == 65;
+
 run_tests_for_quotekeys();
 SKIP: {
     skip "XS version was unavailable, so we already ran with pure Perl", 5
@@ -110,25 +112,33 @@ sub run_tests_for_quotekeys {
       );
 
     is(Dumper(\%qkdata),
-       q($VAR1 = {'0' => 1,'012345' => 1,'12' => 1,'123456789' => 1,'1234567890' => 1,"1\x{660}" => 1,'::de::fg' => 1,'ab' => 1,'hi::12' => 1};),
+       (($is_ascii) # Sort order is different on EBCDIC platforms
+        ? q($VAR1 = {'0' => 1,'012345' => 1,'12' => 1,'123456789' => 1,'1234567890' => 1,"1\x{660}" => 1,'::de::fg' => 1,'ab' => 1,'hi::12' => 1};)
+        : q($VAR1 = {'::de::fg' => 1,'ab' => 1,'hi::12' => 1,'0' => 1,'012345' => 1,'12' => 1,'123456789' => 1,'1234567890' => 1,"1\x{660}" => 1};)),
        "always quote when quotekeys true");
 
     {
         local $Data::Dumper::Useqq = 1;
         is(Dumper(\%qkdata),
-          q($VAR1 = {"0" => 1,"012345" => 1,"12" => 1,"123456789" => 1,"1234567890" => 1,"1\x{660}" => 1,"::de::fg" => 1,"ab" => 1,"hi::12" => 1};),
+           (($is_ascii)
+           ? q($VAR1 = {"0" => 1,"012345" => 1,"12" => 1,"123456789" => 1,"1234567890" => 1,"1\x{660}" => 1,"::de::fg" => 1,"ab" => 1,"hi::12" => 1};)
+            : q($VAR1 = {"::de::fg" => 1,"ab" => 1,"hi::12" => 1,"0" => 1,"012345" => 1,"12" => 1,"123456789" => 1,"1234567890" => 1,"1\x{660}" => 1};)),
           "always quote when quotekeys true (useqq)");
     }
 
     local $Data::Dumper::Quotekeys = 0;
 
     is(Dumper(\%qkdata),
-       q($VAR1 = {0 => 1,'012345' => 1,12 => 1,123456789 => 1,'1234567890' => 1,"1\x{660}" => 1,'::de::fg' => 1,ab => 1,'hi::12' => 1};),
+        (($is_ascii)
+         ? q($VAR1 = {0 => 1,'012345' => 1,12 => 1,123456789 => 1,'1234567890' => 1,"1\x{660}" => 1,'::de::fg' => 1,ab => 1,'hi::12' => 1};)
+         : q($VAR1 = {'::de::fg' => 1,ab => 1,'hi::12' => 1,0 => 1,'012345' => 1,12 => 1,123456789 => 1,'1234567890' => 1,"1\x{660}" => 1};)),
              "avoid quotes when quotekeys false");
     {
         local $Data::Dumper::Useqq = 1;
        is(Dumper(\%qkdata),
-          q($VAR1 = {0 => 1,"012345" => 1,12 => 1,123456789 => 1,"1234567890" => 1,"1\x{660}" => 1,"::de::fg" => 1,ab => 1,"hi::12" => 1};),
+            (($is_ascii)
+            ? q($VAR1 = {0 => 1,"012345" => 1,12 => 1,123456789 => 1,"1234567890" => 1,"1\x{660}" => 1,"::de::fg" => 1,ab => 1,"hi::12" => 1};)
+             : q($VAR1 = {"::de::fg" => 1,ab => 1,"hi::12" => 1,0 => 1,"012345" => 1,12 => 1,123456789 => 1,"1234567890" => 1,"1\x{660}" => 1};)),
              "avoid quotes when quotekeys false (useqq)");
     }
 }