1BEGIN { 2 if ($ENV{'PERL_CORE'}) { 3 chdir 't'; 4 unshift @INC, '../lib'; 5 } 6 require Config; Config->import(); 7 if ($Config{'extensions'} !~ /\bEncode\b/) { 8 print "1..0 # Skip: Encode was not built\n"; 9 exit 0; 10 } 11 if (ord("A") == 193) { 12 print "1..0 # Skip: EBCDIC\n"; 13 exit 0; 14 } 15 $| = 1; 16} 17 18use strict; 19use warnings; 20 21use Test::More tests => 8; 22 23use Encode; 24 25my $ascii = Encode::find_encoding("ascii"); 26my $orig = "str"; 27 28my $str = $orig; 29ok !Encode::is_utf8($str), "UTF8 flag is not set on input string before ascii encode"; 30$ascii->encode($str); 31ok !Encode::is_utf8($str), "UTF8 flag is not set on input string after ascii encode"; 32 33$str = $orig; 34ok !Encode::is_utf8($str), "UTF8 flag is not set on input string before Encode::encode ascii"; 35Encode::encode("ascii", $str); 36ok !Encode::is_utf8($str), "UTF8 flag is not set on input string after Encode::encode ascii"; 37 38$str = $orig; 39Encode::_utf8_on($str); 40ok Encode::is_utf8($str), "UTF8 flag is set on input string before ascii decode"; 41$ascii->decode($str); 42ok Encode::is_utf8($str), "UTF8 flag is set on input string after ascii decode"; 43 44$str = $orig; 45Encode::_utf8_on($str); 46ok Encode::is_utf8($str), "UTF8 flag is set on input string before Encode::decode ascii"; 47Encode::decode("ascii", $str); 48ok Encode::is_utf8($str), "UTF8 flag is set on input string after Encode::decode ascii"; 49