blob: 404521129be1c5274be06d9cb4d7096b6b537456 [file] [log] [blame]
#!/usr/bin/perl
use lib '.'; use lib 't';
use SATest; sa_t_init("if_can");
use Test; BEGIN { plan tests => 13 };
# ---------------------------------------------------------------------------
%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',
);
%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 !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();