MojoMojo
view release on metacpan or search on metacpan
t/formatter_defang.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More tests => 17;
use Test::Differences;
use HTTP::Request::Common;
BEGIN {
$ENV{CATALYST_CONFIG} = 't/var/mojomojo.yml';
use_ok 'MojoMojo::Formatter::Defang';
use_ok 'Catalyst::Test', 'MojoMojo';
}
my ( $content, $got, $expected, $test );
$test = 'pre tag - no attribute';
$got = $content = <<'HTML';
<pre>
Hopen, Norway
</pre>
HTML
$expected = $content;
MojoMojo::Formatter::Defang->format_content( \$got );
eq_or_diff( $got, $expected, $test );
$test = 'pre tag - lang HTML attribute';
$got = $content = <<'HTML';
<pre lang="HTML">
<strong>ZamoÅÄ, Poland</strong>
</pre>
HTML
$expected = $content;
MojoMojo::Formatter::Defang->format_content( \$got );
eq_or_diff( $got, $expected, $test );
$test = 'pre tag - lang Perl attribute';
$got = $content = <<'HTML';
<pre lang="Perl">
if ( $poble eq 'Sant Celoni') {
say 'Visca Barça';
}
</pre>
HTML
$expected = $content;
MojoMojo::Formatter::Defang->format_content( \$got );
eq_or_diff( $got, $expected, $test );
$test = 'pre tag - no attribute and some text before a pre tag';
$got = $content = <<'HTML';
Tinc famÃlia a
<pre>
Hopen, Norway
</pre>
HTML
$expected = $content;
MojoMojo::Formatter::Defang->format_content( \$got );
eq_or_diff( $got, $expected, $test );
# This test will fail when allowing img and src at default Defang (return 2) setting.
$test = 'formatter directly / remote image - should defang it';
$got = $content = '<img src="http://far.away.com/image.jpg" />';
$expected = '<img defang_src="http://far.away.com/image.jpg" />';
MojoMojo::Formatter::Defang->format_content( \$got );
eq_or_diff( $got, $expected, $test );
$test = 'full formatter chain / remote image - should defang it';
( run in 2.513 seconds using v1.01-cache-2.11-cpan-0d23b851a93 )