mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-06-02 13:43:49 +00:00
85 lines
3.0 KiB
Perl
85 lines
3.0 KiB
Perl
#!/usr/bin/perl -T
|
|
|
|
use lib '.'; use lib 't';
|
|
use SATest; sa_t_init("if_can");
|
|
use Test::More tests => 16;
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
%patterns = (
|
|
|
|
q{ GTUBE }, 'gtube',
|
|
q{ SHOULD_BE_CALLED1 }, 'should_be_called1',
|
|
q{ SHOULD_BE_CALLED2 }, 'should_be_called2',
|
|
q{ SHOULD_BE_CALLED3 }, 'should_be_called3',
|
|
q{ SHOULD_BE_CALLED4 }, 'should_be_called4',
|
|
q{ SHOULD_BE_CALLED5 }, 'should_be_called5',
|
|
q{ SHOULD_BE_CALLED6 }, 'should_be_called6',
|
|
q{ SHOULD_BE_CALLED7 }, 'should_be_called7',
|
|
q{ SHOULD_BE_CALLED8 }, 'should_be_called8',
|
|
q{ SHOULD_BE_CALLED9 }, 'should_be_called9',
|
|
q{ SHOULD_BE_CALLED10 }, 'should_be_called10',
|
|
|
|
);
|
|
%anti_patterns = (
|
|
|
|
q{ SHOULD_NOT_BE_CALLED1 }, 'should_not_be_called1',
|
|
q{ SHOULD_NOT_BE_CALLED2 }, 'should_not_be_called2',
|
|
q{ SHOULD_NOT_BE_CALLED3 }, 'should_not_be_called3',
|
|
q{ SHOULD_NOT_BE_CALLED4 }, 'should_not_be_called4',
|
|
|
|
);
|
|
tstlocalrules (q{
|
|
|
|
loadplugin Mail::SpamAssassin::Plugin::Test
|
|
|
|
if (has(Mail::SpamAssassin::Plugin::Test::check_test_plugin))
|
|
body SHOULD_BE_CALLED1 /./
|
|
endif
|
|
if (has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true))
|
|
body SHOULD_BE_CALLED2 /./
|
|
endif
|
|
if (has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false))
|
|
body SHOULD_BE_CALLED3 /./
|
|
endif
|
|
if (can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true))
|
|
body SHOULD_BE_CALLED4 /./
|
|
endif
|
|
if (!can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false))
|
|
body SHOULD_BE_CALLED5 /./
|
|
endif
|
|
if (!has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_nosuch))
|
|
body SHOULD_BE_CALLED6 /./
|
|
endif
|
|
if (!can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_nosuch))
|
|
body SHOULD_BE_CALLED7 /./
|
|
endif
|
|
if can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true) && version > 0.00000
|
|
body SHOULD_BE_CALLED8 /./
|
|
endif
|
|
if !can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false ) && !(! version > 0.00000)
|
|
body SHOULD_BE_CALLED9 /./
|
|
endif
|
|
if has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true) && (!can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_nosuch))
|
|
body SHOULD_BE_CALLED10 /./
|
|
endif
|
|
|
|
if !has(Mail::SpamAssassin::Plugin::Test::check_test_plugin)
|
|
body SHOULD_NOT_BE_CALLED1 /./
|
|
endif
|
|
if (has(Mail::SpamAssassin::Plugin::Test::non_existent_method))
|
|
body SHOULD_NOT_BE_CALLED2 /./
|
|
endif
|
|
if (can(Mail::SpamAssassin::Plugin::Test::non_existent_method))
|
|
body SHOULD_NOT_BE_CALLED3 /./
|
|
endif
|
|
if (can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false))
|
|
body SHOULD_NOT_BE_CALLED4 /./
|
|
endif
|
|
|
|
});
|
|
|
|
ok (sarun ("-L -t < data/spam/gtube.eml", \&patterns_run_cb));
|
|
ok_all_patterns();
|
|
|