File: 42common.t

package info (click to toggle)
libxml-libxml-perl 2.0116%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 2,420 kB
  • sloc: perl: 6,139; ansic: 3,752; xml: 182; sh: 64; makefile: 8
file content (93 lines) | stat: -rw-r--r-- 2,223 bytes parent folder | download | duplicates (7)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
use strict;
use warnings;

# Should be 12.
use Test::More tests => 12;

use XML::LibXML::Common qw( :libxml :encoding );

use constant TEST_STRING_GER => "Hnsel und Gretel";
use constant TEST_STRING_GER2 => "tst";
use constant TEST_STRING_UTF => 'test';
use constant TEST_STRING_JP  => '';

# TEST
ok(1, 'Loading');

#########################

# TEST
is (XML_ELEMENT_NODE, 1, 'XML_ELEMENT_NODE is 1.' );

# encoding();

# TEST
is (decodeFromUTF8(
        'iso-8859-1', encodeToUTF8('iso-8859-1', TEST_STRING_GER2 )
    ),
    TEST_STRING_GER2,
    'Roundup trip from UTF-8 to ISO-8859-1 and back.',
);

# TEST
is ( decodeFromUTF8(
        'UTF-8' , encodeToUTF8('UTF-8', TEST_STRING_UTF )
    ),
    TEST_STRING_UTF,
    'Rountrip trip through UTF-8',
);


my $u16 =
    decodeFromUTF8( 'UTF-16', encodeToUTF8('UTF-8', TEST_STRING_UTF ) )
    ;

# TEST
is ( length($u16), 2*length(TEST_STRING_UTF),
    'UTF-16 String is twice as long.'
);

my $u16be = decodeFromUTF8( 'UTF-16BE',
                            encodeToUTF8('UTF-8', TEST_STRING_UTF ) );
# TEST
is ( length($u16be), 2*length(TEST_STRING_UTF),
    'UTF-16BE String is twice as long.'
);

my $u16le = decodeFromUTF8( 'UTF-16LE',
                            encodeToUTF8('UTF-8', TEST_STRING_UTF ) );
# TEST
is ( length($u16le), 2*length(TEST_STRING_UTF),
    'UTF-16LE String is twice as long.'
);

# Bad encoding name tests.
eval {
    my $str = encodeToUTF8( "foo" , TEST_STRING_GER2 );
};
# TEST
ok( $@, 'Exception was thrown.' );

# TEST
is (encodeToUTF8( 'UTF-16' , '' ), '', 'Encoding empty string to UTF-8');

# TEST
ok (!defined(encodeToUTF8( 'UTF-16' , undef )),
    'encoding undef to UTF-8 is undefined'
);

# TEST
is (decodeFromUTF8( 'UTF-16' , '' ), '', 'decodeFromUTF8 of empty string');

# TEST
ok (!defined(decodeFromUTF8( 'UTF-16' , undef )), 'decodeFromUTF8 of undef.');

# here should be a test to test badly encoded strings. but for some
# reasons i am unable to create an appropriate test :(

# uncomment these lines if your system is capable to handel not only i
# so latin 1
#ok( decodeFromUTF8('EUC-JP',
#                   encodeToUTF8('EUC-JP',
#                                TEST_STRING_JP ) ),
#    TEST_STRING_JP );