mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-08-10 21:21:45 +00:00
78 lines
2.5 KiB
Perl
78 lines
2.5 KiB
Perl
#!/usr/bin/perl -T
|
|
use strict;
|
|
use warnings;
|
|
use lib 'lib';
|
|
use Mail::SpamAssassin::HTML;
|
|
use Test::More;
|
|
|
|
my @tests = (
|
|
{
|
|
html => '<div style="background-color: transparent">X</div>',
|
|
visibility => 'visible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => '<div style="color: transparent">X</div>',
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => '<div style="color: transparent;background-color: red">X</div>',
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => '<div style="background-color: red;color: transparent">X</div>',
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => '<div style="background: 60px 60px, 0 0, 30px 30px, red;color: transparent">X</div>',
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => q{<div style="background: url('../../media/examples/lizard.png'), red;color: transparent">X</div>},
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => q{<div style='background: url("../../media/examples/lizard.png"), linear-gradient(rgba(0, 0, 255, 0.5), rgba(255, 255, 0, 0.5)), 60px 60px, 0 0, 30px 30px, red;color: transparent'>X</div>},
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => '<div style="background-color: transparent;color: transparent">X</div>',
|
|
visibility => 'invisible',
|
|
font_invalid_color => 0,
|
|
},
|
|
{
|
|
html => '<div style="color: red !important">X</div>',
|
|
visibility => 'visible',
|
|
font_invalid_color => 0,
|
|
},
|
|
);
|
|
|
|
plan tests => scalar @tests * 2;
|
|
|
|
foreach my $test (@tests) {
|
|
my $html = $test->{html};
|
|
|
|
my $html_obj = Mail::SpamAssassin::HTML->new(0,0, debug => 'message');
|
|
$html_obj->parse($html);
|
|
|
|
my $visible_text = $html_obj->get_rendered_text(invisible => 0);
|
|
my $invisible_text = $html_obj->get_rendered_text(invisible => 1);
|
|
|
|
my $visibility =
|
|
($visible_text =~ /\S/ ? 'visible' : '') .
|
|
($invisible_text =~ /\S/ ? 'invisible' : '');
|
|
|
|
is($visibility, $test->{visibility}, $html);
|
|
|
|
my $font_invalid_color = $html_obj->{results}->{font_invalid_color} // 0;
|
|
|
|
is($font_invalid_color, $test->{font_invalid_color}, $html);
|
|
}
|
|
|