File: 20_reader.t

package info (click to toggle)
libxml-tmx-perl 0.39-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 304 kB
  • sloc: perl: 1,712; xml: 115; makefile: 2
file content (74 lines) | stat: -rw-r--r-- 1,995 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
62
63
64
65
66
67
68
69
70
71
72
73
74
# -*- cperl -*-
use Test::More tests => 10;

use File::Temp;
use XML::TMX::Reader;
ok 1;

my $reader;

$reader = XML::TMX::Reader->new('foobar.tmx');
ok(!$reader,"rigth foobar.tmx is not present");

$reader = XML::TMX::Reader->new('t/sample.tmx');
ok($reader, "reading sample.tmx");

is_deeply($reader->{header}, { '-prop' => { 'bodykey' => ['bodyvalue'] },
                               '-note' => [ 'bodynote' ],
                               'o-tmf' => 'TW4Win 2.0 Format',
                               adminlang => 'EN-US',
                               creationdate => '20020312T164816Z',
                               creationtoolversion => '5.0',
                               creationtool => 'MyTool',
                               srclang => 'EN-GB',
                               segtype => 'sentence',
                               datatype => 'html',
                             });

my $count = 0;
$reader->for_tu( sub {
		   my $tu = shift;
		   $count++;
		 });

my $tmp = File::Temp->new(SUFFIX=>'.tmx', UNLINK => 0);

is($count, 7, "counting tu's with for_tu");

$reader->for_tu( { -output => $tmp->filename },
                 sub {
                     my $tu = shift;
                     $tu->{-prop}={q=>[77], aut=>["jj","ambs"]};
                     $tu->{-note}=[2..5];
                     $tu;
		 });

ok( -f $tmp->filename );

$reader = XML::TMX::Reader->new( $tmp->filename );
ok $reader,"loading " . $tmp->filename;


my $tmp2 = File::Temp->new(SUFFIXE=>'.tmx', UNLINK => 0);

$reader->for_tu( {output => $tmp2->filename },
                 sub {
		   my $tu = shift;
		   for (keys %{$tu->{-prop}}){
		     $tu->{-prop}{$_} .= "batatas";
		   }
		   for (@{$tu->{-note}}){
		     $_ = "$_ cabolas"
		   }
		   $tu;
                 });

my @langs = $reader->languages;

is(@langs, 2 , "languages".join(",",@langs));

ok(grep { $_ eq "EN-GB" } @langs, "en");
ok(grep { $_ eq "PT-PT" } @langs, "pt");

unlink( $tmp->filename );
unlink( $tmp2->filename );