#!/usr/bin/perl -T

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

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

%patterns = (

q{ GTUBE }, 'gtube',
q{ MY_TEST_PLUGIN }, 'plugin_called',
q{ registered myTestPlugin }, 'registered',
q{ myTestPlugin eval test called }, 'test_called',
q{ myTestPlugin finishing }, 'plugin_finished',

q{ test: plugins loaded: Mail::SpamAssassin::Plugin::ASN=HASH }, 'plugins_loaded',
q{ myTestPlugin=HASH }, 'plugins_loaded2',

);

%anti_patterns = (

q{ SHOULD_NOT_BE_CALLED }, 'should_not_be_called'

);

tstlocalrules ("
	loadplugin myTestPlugin ../../data/testplugin.pm
	ifplugin FooPlugin
	  header SHOULD_NOT_BE_CALLED	eval:doesnt_exist()
	endif
	if plugin(myTestPlugin)
	  header MY_TEST_PLUGIN		eval:check_test_plugin()
	endif
");

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

