summaryrefslogtreecommitdiff
path: root/cpan/Encode/t/rt85489.t
blob: 3b28e35af6a549d3e5c5c3255d91a2d1a076bfc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
BEGIN {
    if ($ENV{'PERL_CORE'}) {
        chdir 't';
        unshift @INC, '../lib';
    }
    require Config; import Config;
    if ($Config{'extensions'} !~ /\bEncode\b/) {
      print "1..0 # Skip: Encode was not built\n";
      exit 0;
    }
    if (ord("A") == 193) {
      print "1..0 # Skip: EBCDIC\n";
      exit 0;
    }
    $| = 1;
}

use strict;
use warnings;

use Test::More tests => 8;

use Encode;

my $ascii = Encode::find_encoding("ascii");
my $orig = "str";

my $str = $orig;
ok !Encode::is_utf8($str), "UTF8 flag is not set on input string before ascii encode";
$ascii->encode($str);
ok !Encode::is_utf8($str), "UTF8 flag is not set on input string after ascii encode";

$str = $orig;
ok !Encode::is_utf8($str), "UTF8 flag is not set on input string before Encode::encode ascii";
Encode::encode("ascii", $str);
ok !Encode::is_utf8($str), "UTF8 flag is not set on input string after Encode::encode ascii";

$str = $orig;
Encode::_utf8_on($str);
ok Encode::is_utf8($str), "UTF8 flag is set on input string before ascii decode";
$ascii->decode($str);
ok Encode::is_utf8($str), "UTF8 flag is set on input string after ascii decode";

$str = $orig;
Encode::_utf8_on($str);
ok Encode::is_utf8($str), "UTF8 flag is set on input string before Encode::decode ascii";
Encode::decode("ascii", $str);
ok Encode::is_utf8($str), "UTF8 flag is set on input string after Encode::decode ascii";