9 plan skip_all => "Flemm 3.1 required" if $@;
11 binmode( STDOUT, ':utf8' );
12 binmode( STDERR, ':utf8' );
14 my $tf = Text::Tradition->new(
16 'file' => 't/data/besoin.xml',
17 'language' => 'French' );
20 my $graphmlstr = $tf->collation->as_graphml;
21 like( $graphmlstr, qr/graphml xmlns/,
22 "Serialized tradition after lemmatization" );
24 my $tf2 = Text::Tradition->new(
26 string => $graphmlstr,
27 language => 'French' );
29 ok( $tf2->$_isa('Text::Tradition'), "Re-parsed tradition with lemmatization" );
30 is( $tf->name, $tf2->name, "Traditions have same name" );
31 foreach my $r ( $tf->collation->readings ) {
32 my $r2 = $tf2->collation->reading( $r->id );
33 ok( $r2->$_isa('Text::Tradition::Collation::Reading'),
34 "Reading $r exists in new tradition" );
36 is( scalar $r->lexemes, scalar $r2->lexemes,
37 "Same number of lexemes in new tradition for $r" );
41 # Test a snippet of tradition with possibly-problematic saved lexemes
42 my $tf3 = Text::Tradition->new(
44 'file' => 't/data/lexformat.xml' );
45 ok( $tf3->$_isa('Text::Tradition'),
46 "Successfully parsed tradition with incomplete lexemes" );