use strict; use Test; use XML::SAX::Machines qw( Machine ); use lib qw( t/lib ); my $m; my $out1; my $out2; my $out3; my @tests = ( sub { $m = Machine( [ Intake => "XML::Filter::SAXT" => ( 1, 2, 3 ) ], [ undef, "XML::SAX::Base" => 4 ], [ undef, "XML::SAX::Base" => 5 ], [ undef, "XML::SAX::Base" => 6 ], \$out1, \$out2, \$out3, ), ok $m->isa( "XML::SAX::Machine" ); }, sub { $out1 = ""; $out2 = ""; $out3 = ""; ok $m->parse_string( "" ); }, sub { $out1 =~ m{} ? ok 1 : ok $out1, "out1: something like " ; }, sub { $out2 =~ m{} ? ok 1 : ok $out2, "out2: something like " ; }, sub { $out3 =~ m{} ? ok 1 : ok $out3, "out3: something like " ; }, ); plan tests => scalar @tests; $_->() for @tests;