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 )