Commit | Line | Data |
3b853983 |
1 | #!/usr/bin/perl -w |
2 | |
3 | use strict; |
4 | use Test::More 'no_plan'; |
5 | $| = 1; |
6 | |
7 | |
8 | |
9 | # =begin testing |
10 | { |
11 | use Text::Tradition; |
12 | binmode STDOUT, ":utf8"; |
13 | binmode STDERR, ":utf8"; |
14 | eval { no warnings; binmode $DB::OUT, ":utf8"; }; |
15 | |
16 | my $par_seg = 't/data/florilegium_tei_ps.xml'; |
17 | my $t = Text::Tradition->new( |
18 | 'name' => 'inline', |
19 | 'input' => 'TEI', |
20 | 'file' => $par_seg, |
21 | ); |
22 | |
23 | is( ref( $t ), 'Text::Tradition', "Parsed parallel-segmentation TEI" ); |
24 | if( $t ) { |
56eefa04 |
25 | is( scalar $t->collation->readings, 311, "Collation has all readings" ); |
26 | is( scalar $t->collation->paths, 361, "Collation has all paths" ); |
3b853983 |
27 | } |
f08498a5 |
28 | |
29 | # Try to re-parse it, ensure we can use the parser twice in the same Perl |
30 | # invocation |
31 | |
32 | my $t2 = Text::Tradition->new( |
33 | 'name' => 'inline', |
34 | 'input' => 'TEI', |
35 | 'file' => $par_seg, |
36 | ); |
37 | |
38 | is( ref( $t2 ), 'Text::Tradition', "Parsed parallel-segmentation TEI again" ); |
3b853983 |
39 | } |
40 | |
41 | |
42 | |
43 | # =begin testing |
44 | { |
3b853983 |
45 | use XML::LibXML; |
46 | use XML::LibXML::XPathContext; |
47 | use Text::Tradition::Parser::TEI; |
48 | |
49 | my $xml_str = '<tei><rdg wit="#A #B #C #D">some text</rdg></tei>'; |
50 | my $el = XML::LibXML->new()->parse_string( $xml_str )->documentElement; |
51 | my $xpc = XML::LibXML::XPathContext->new( $el ); |
52 | my $obj = $xpc->find( '//rdg' ); |
53 | |
54 | my @wits = Text::Tradition::Parser::TEI::_get_sigla( $obj ); |
55 | is( join( ' ', @wits) , "A B C D", "correctly parsed reading wit string" ); |
56 | } |
57 | |
58 | |
59 | |
60 | |
61 | 1; |