xref: /openbsd-src/gnu/usr.bin/perl/cpan/Encode/t/rt85489.t (revision 5486feefcc8cb79b19e014ab332cc5dfd05b3b33)
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