#!/usr/bin/perl -w BEGIN { if (-e 't/test_dir') { # if we are running "t/body_mod.t", kluge around ... chdir 't'; } if (-e 'test_dir') { # running from test directory, not .. unshift(@INC, '../blib/lib'); } } my $prefix = '.'; if (-e 'test_dir') { # running from test directory, not .. $prefix = '..'; } use strict; use SATest; sa_t_init("body_mod"); use Test; BEGIN { plan tests => 3 }; use Mail::SpamAssassin; # --------------------------------------------------------------------------- # initialize SpamAssassin my $sa = create_saobj({'dont_copy_prefs' => 1}); $sa->init(0); # parse rules open (IN, "parse(\*IN); close IN; my $msg = Mail::SpamAssassin::PerMsgStatus->new($sa, $mail); my $decoded_pre = join ('||', @{$msg->get_decoded_body_text_array()}); my $stripped_pre = join ('||', @{$msg->get_decoded_stripped_body_text_array()}); $msg->check(); my $decoded_post = join ('||', @{$msg->get_decoded_body_text_array()}); my $stripped_post = join ('||', @{$msg->get_decoded_stripped_body_text_array()}); my $hits = join (' ', $msg->get_names_of_tests_hit()); print "hit rules: $hits\n"; ok ($hits ne ''); if ($decoded_pre eq $decoded_post) { print "decoded: body renderings identical pre and post scan\n"; ok (1); } else { print "decoded: body renderings DIFFER pre and post scan\n"; print "decoded: pre=".$decoded_pre." post=".$decoded_post."\n\n"; ok (0); } if ($stripped_pre eq $stripped_post) { print "stripped: body renderings identical pre and post scan\n"; ok (1); } else { print "stripped: body renderings DIFFER pre and post scan\n"; print "stripped: pre=".$stripped_pre." post=".$stripped_post."\n\n"; ok (0); }