diff --git a/t/format-smi.t b/t/format-smi.t new file mode 100644 index 0000000..2c84533 --- /dev/null +++ b/t/format-smi.t @@ -0,0 +1,85 @@ +use strict; +use warnings; + +use Test::More tests => 14; + +use Subtitle::Format::SMI; + +my $smi = Subtitle::Format::SMI->new(debug => 1); +is(ref $smi, 'Subtitle::Format::SMI'); +can_ok($smi, qw(new parse build)); + +my $sample = <<"EOF"; + + + Title + + + + + + + + First event + Another line + + + + + Second event + + + + No 'empty' event to hide this + show till end-of-file + + + +EOF + +my $cnt = $smi->from_string($sample); +is($cnt, 3); +is($smi->{style}, "P {margin-left: 2pt; margin-right: 2pt; font-size: 12pt; }\n.SCC {Name: 'Some lang'; lang: ru; }"); + +my @events = $smi->events; +is($events[0]->t_start, 12); +is($events[0]->t_end, 20); +is($events[0]->text, "First event\\nAnother line"); +is($events[1]->t_start, 30); +is($events[1]->t_end, 40); +is($events[1]->text, "Second event"); +is($events[2]->t_start, 50); +is($events[2]->t_end, 63); # from samiparam/length +is($events[2]->text, "No 'empty' event to hide this\\nshow till end-of-file"); + +$sample = <<"EOF"; + + + Title + + + + + + First eventAnother line + + Second event + + No 'empty' event to hide thisshow till end-of-file + + + + +EOF +is($smi->build, $sample); +use File::Slurp; +write_file('1.txt', $smi->build); +write_file('2.txt', $sample); + +exit 0;
+ First event + Another line + + + + + Second event + + + + No 'empty' event to hide this + show till end-of-file +
+ + + Second event + + + + No 'empty' event to hide this + show till end-of-file +
Second event + + + + No 'empty' event to hide this + show till end-of-file +
+ + No 'empty' event to hide this + show till end-of-file +
No 'empty' event to hide this + show till end-of-file +
First eventAnother line
Second event
No 'empty' event to hide thisshow till end-of-file