| #!/usr/bin/perl -T |
| |
| use lib '.'; use lib 't'; |
| use SATest; sa_t_init("if_can"); |
| use Test::More tests => 19; |
| |
| # --------------------------------------------------------------------------- |
| |
| %patterns = ( |
| |
| q{ 1000 GTUBE }, '', |
| q{ 1.0 SHOULD_BE_CALLED01 }, '', |
| q{ 1.0 SHOULD_BE_CALLED02 }, '', |
| q{ 1.0 SHOULD_BE_CALLED03 }, '', |
| q{ 1.0 SHOULD_BE_CALLED04 }, '', |
| q{ 1.0 SHOULD_BE_CALLED05 }, '', |
| q{ 1.0 SHOULD_BE_CALLED06 }, '', |
| q{ 1.0 SHOULD_BE_CALLED07 }, '', |
| q{ 1.0 SHOULD_BE_CALLED08 }, '', |
| q{ 1.0 SHOULD_BE_CALLED09 }, '', |
| q{ 1.0 SHOULD_BE_CALLED10 }, '', |
| q{ 1.0 SHOULD_BE_CALLED11 }, '', |
| q{ 1.0 SHOULD_BE_CALLED12 }, '', |
| |
| ); |
| %anti_patterns = ( |
| |
| q{ SHOULD_NOT_BE_CALLED01 }, '', |
| q{ SHOULD_NOT_BE_CALLED02 }, '', |
| q{ SHOULD_NOT_BE_CALLED03 }, '', |
| q{ SHOULD_NOT_BE_CALLED04 }, '', |
| q{ SHOULD_NOT_BE_CALLED05 }, '', |
| |
| ); |
| tstlocalrules (q{ |
| |
| loadplugin Mail::SpamAssassin::Plugin::Test |
| |
| if (has(Mail::SpamAssassin::Plugin::Test::check_test_plugin)) |
| body SHOULD_BE_CALLED01 /./ |
| endif |
| if (has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true)) |
| body SHOULD_BE_CALLED02 /./ |
| endif |
| if (has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false)) |
| body SHOULD_BE_CALLED03 /./ |
| endif |
| if (can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true)) |
| body SHOULD_BE_CALLED04 /./ |
| endif |
| if (!can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false)) |
| body SHOULD_BE_CALLED05 /./ |
| endif |
| if (!has(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_nosuch)) |
| body SHOULD_BE_CALLED06 /./ |
| endif |
| if (!can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_nosuch)) |
| body SHOULD_BE_CALLED07 /./ |
| endif |
| if can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true) && version > 0.00000 |
| body SHOULD_BE_CALLED08 /./ |
| endif |
| if !can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false ) && !(! version > 0.00000) |
| body SHOULD_BE_CALLED09 /./ |
| 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_CALLED01 /./ |
| endif |
| if (has(Mail::SpamAssassin::Plugin::Test::non_existent_method)) |
| body SHOULD_NOT_BE_CALLED02 /./ |
| endif |
| if (can(Mail::SpamAssassin::Plugin::Test::non_existent_method)) |
| body SHOULD_NOT_BE_CALLED03 /./ |
| endif |
| if can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_true) |
| if (can(Mail::SpamAssassin::Plugin::Test::test_feature_xxxx_false)) |
| body SHOULD_NOT_BE_CALLED04 /./ |
| else |
| body SHOULD_BE_CALLED11 /./ |
| endif |
| endif |
| |
| if can(Mail::SpamAssassin::Conf::feature_local_tests_only) && local_tests_only |
| body SHOULD_BE_CALLED12 /./ |
| endif |
| if can(Mail::SpamAssassin::Conf::feature_local_tests_only) && !local_tests_only |
| body SHOULD_NOT_BE_CALLED05 /./ |
| endif |
| |
| }); |
| |
| ok (sarun ("-L -t < data/spam/gtube.eml", \&patterns_run_cb)); |
| ok_all_patterns(); |
| |