File: 49_invalid_encoding.t

package info (click to toggle)
libxml-treepp-perl 0.39-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 612 kB
  • ctags: 43
  • sloc: perl: 795; xml: 58; makefile: 45; sh: 37
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;
# ----------------------------------------------------------------