#!/usr/bin/perl -T

use lib '.'; use lib 't';
use SATest; sa_t_init("plugin");
use Test::More tests => 6;

# ---------------------------------------------------------------------------

%patterns = (

q{ GTUBE }, 'gtube',
q{ MY_TEST_PLUGIN }, 'plugin_called',
q{ registered Mail::SpamAssassin::Plugin::Test }, 'registered',
q{ Mail::SpamAssassin::Plugin::Test eval test called }, 'test_called',

);

%anti_patterns = (

q{ SHOULD_NOT_BE_CALLED }, 'should_not_be_called'

);

tstlocalrules ("
	loadplugin     Mail::SpamAssassin::Plugin::Test
	ifplugin FooPlugin
	  header SHOULD_NOT_BE_CALLED	eval:doesnt_exist()
	endif
	if plugin(Mail::SpamAssassin::Plugin::Test)
	  header MY_TEST_PLUGIN		eval:check_test_plugin()
	endif
");

ok (sarun ("-L -t < data/spam/gtube.eml", \&patterns_run_cb));
ok_all_patterns();

