This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Get t/uni/labels.t working under minitest
[perl5.git] / t / uni / labels.t
index 1e4d684..01b2f50 100644 (file)
@@ -4,8 +4,9 @@
 
 BEGIN {
     chdir 't' if -d 't';
 
 BEGIN {
     chdir 't' if -d 't';
-    @INC = '../lib';
     require './test.pl';
     require './test.pl';
+    @INC = () unless is_miniperl();
+    unshift @INC, '../lib';
 }
 
 use utf8;
 }
 
 use utf8;
@@ -15,7 +16,7 @@ use feature qw 'unicode_strings evalbytes';
 
 use charnames qw( :full );
 
 
 use charnames qw( :full );
 
-plan(9);
+plan(10);
 
 LABEL: {
     pass("Sanity check, UTF-8 labels don't throw a syntax error.");
 
 LABEL: {
     pass("Sanity check, UTF-8 labels don't throw a syntax error.");
@@ -54,21 +55,24 @@ SKIP: {
     like $@, qr/Label not found for "next E" at/u, "next's error is UTF-8 clean";
 }
 
     like $@, qr/Label not found for "next E" at/u, "next's error is UTF-8 clean";
 }
 
-my $d = 4;
+my $d = 2;
 LÁBEL: {
 LÁBEL: {
+    my $e = $@;
     my $prog = "redo L\N{LATIN CAPITAL LETTER A WITH ACUTE}BEL";
 
     my $prog = "redo L\N{LATIN CAPITAL LETTER A WITH ACUTE}BEL";
 
-    if ($d % 2) {
+    if ($d == 1) {
+        is $e, '', "redo UTF8 works";
         utf8::downgrade($prog);
     }
     if ($d--) {
         utf8::downgrade($prog);
     }
     if ($d--) {
+        use feature 'unicode_eval';
         no warnings 'exiting';
         eval $prog;
     }
 }
 
         no warnings 'exiting';
         eval $prog;
     }
 }
 
-is $@, '', "redo to downgradeable labels works";
-is $d, -1, "Latin-1 labels reachable regardless of UTF-8ness";
+like $@, qr/Unrecognized character/, "redo to downgradeable labels";
+is $d, 0, "Latin-1 labels are reachable";
 
 {
     no warnings;
 
 {
     no warnings;