#! /usr/bin/env perl # -*- perl -*-
BEGIN {
my
$test_dir
= __FILE__;
$test_dir
=~ s/[-a-z0-9]+\.t$//i;
unshift
@INC
,
$test_dir
;
}
my
$testdir
= dirname __FILE__;
my
$master_md
= File::Spec->catfile(
$testdir
,
'master.md'
);
my
$splitter
= Qgoda::Splitter->new(
$master_md
);
ok
$splitter
,
'parse master'
;
my
$meta
=
$splitter
->meta;
is
$meta
->{title},
'Master Document'
;
is
$splitter
->metaLineNumber(
'title'
), 2,
'title line number'
;
is
$meta
->{name},
'master-document'
;
is
$splitter
->metaLineNumber(
'name'
), 3,
'name line number'
;
is
$meta
->{description},
'Test for po mechanism'
;
is
$splitter
->metaLineNumber(
'description'
), 4,
'description line number'
;
my
@entries
=
$splitter
->entries;
is
scalar
@entries
, 4,
'number of entries'
;
my
$expected
=
<<EOF;
Multiple lines
in one
paragraph.
EOF
chomp
$expected
;
is
$entries
[0]->{text},
$expected
,
'multiple lines'
;
$expected
=
<<EOF;
Block
with
embedded
new lines.
EOF
is
$entries
[1]->{text},
$expected
,
'block'
;
$expected
=
"Empty lines above should be ignored."
;
is
$entries
[2]->{text},
$expected
,
'last line'
;
$expected
=
'This entry has the context "my" and a translator comment.'
;
is
$entries
[3]->{text},
$expected
,
'text with comment'
;
$expected
=
'TRANSLATORS: A translator comment.'
;
is
$entries
[3]->{comment},
$expected
,
'translator comment'
;
$expected
=
'my'
;
is
$entries
[3]->{msgctxt},
$expected
,
'message context'
;
my
$site
= TestSite->new(
name
=>
'splitter'
,
assets
=> {
'master.md'
=> {
title
=>
'Splitter Test'
,
content
=> read_file
$master_md
,
}
});
ok (Qgoda::CLI->new([
'build'
])->dispatch);
ok -e
'_site/master/index.html'
;
my
$generated
= read_file
'_site/master/index.html'
;
ok
$generated
!~ /qgoda-xgettext/;
ok
$generated
!~ /qgoda-
no
-xgettext/;
$site
->tearDown;
done_testing;