File: 49_invalid_encoding.t

package info (click to toggle)
libxml-treepp-perl 0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 680 kB
  • sloc: perl: 810; xml: 58; sh: 41; makefile: 2
file content (61 lines) | stat: -rwxr-xr-x 1,636 bytes parent folder | download | duplicates (3)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
# ----------------------------------------------------------------
    use strict;
    use Test::More;
# ----------------------------------------------------------------
{
    local $@;
    eval { require 5.008001; };
    plan skip_all => 'Perl 5.8.1 is required.' if $@;
}
# ----------------------------------------------------------------
    my $ENC = 'UNKNOWN_ENCODING';
# ----------------------------------------------------------------
{
    plan tests => 4;
    use_ok('XML::TreePP');
    &test1();
    &test2();
    &test3();
}
# ----------------------------------------------------------------
sub test1 {
    my $xml = <<"EOT";
<?xml version="1.0" encoding="$ENC"?>
<root>
    <elem>value</elem>
</root>
EOT

    my $tpp = XML::TreePP->new();

    local $@;
    eval {
        my $tree = $tpp->parse( $xml );
    };
    like( $@, qr#^Unknown encoding#, 'parse: '.$@ );
}
# ----------------------------------------------------------------
sub test2 {
    my $tree = { root => { elem => 'value' }};
    my $tpp = XML::TreePP->new();

    local $@;
    eval {
        my $xml = $tpp->write( $tree, $ENC );
    };
    like( $@, qr#^Unknown encoding#, 'write: '.$@ );
}
# ----------------------------------------------------------------
sub test3 {
    my $tree = { root => { elem => 'value' }};
    my $tpp = XML::TreePP->new( output_encoding => $ENC );

    local $@;
    eval {
        my $xml = $tpp->write( $tree );
    };
    like( $@, qr#^Unknown encoding#, 'output_encoding: '.$@ );
}
# ----------------------------------------------------------------
;1;
# ----------------------------------------------------------------