Locale-TextDomain-OO-Extract
view release on metacpan or search on metacpan
t/13_extract_js.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use Test::More tests => 9;
use Test::NoWarnings;
use Test::Exception;
use Test::Differences;
use Path::Tiny qw(path);
BEGIN {
use_ok('Locale::TextDomain::OO::Extract::JavaScript');
}
my $extractor;
lives_ok
sub {
$extractor = Locale::TextDomain::OO::Extract::JavaScript->new;
},
'create extractor object';
{
my $content = "1\n//2\n3\n4/*\n5\n*/6\n";
# remove comments
$extractor->content_ref(\$content);
$extractor->preprocess;
eq_or_diff
$content,
"1\n\n3\n4\n\n6\n",
'check default preprocess';
}
# http://www.c-point.com/javascript_tutorial/special_characters.htm
{
eq_or_diff
$extractor->interpolate_escape_sequence(<<"EOT"),
\\' \\\\'
\\" \\\\"
\\b \\\\b
\\f \\\\f
\\n \\\\n
\\r \\\\r
\\t \\\\t
\\001 \\\\002
\\x03 \\\\x04
\\uD0D0 \\\\uD0D0
\\ \\\\
EOT
<<"EOT",
' \\'
" \\"
\b \\b
\f \\f
\n \\n
\r \\r
\t \\t
\001 \\002
\x03 \\x04
\x{D0D0} \\uD0D0
\\
EOT
'check interpolate escape sequence';
}
for ( qw( gettext gettext_loc jsgettext ) ) {
lives_ok
sub {
$extractor->filename("$_.js");
( run in 0.853 second using v1.01-cache-2.11-cpan-39bf76dae61 )