use strict;
use warnings;
use utf8;
use Test::More;
use Test::Ika;
use Test::Ika::Reporter::Test;
my $reporter = Test::Ika::Reporter::Test->new();
local $Test::Ika::REPORTER = $reporter;
my @RESULT;
{
package sandbox;
use Test::Ika;
use Test::More;
describe 'foo' => sub {
before_suite {
push @RESULT, 'BEFORE SUITE';
};
after_suite {
push @RESULT, 'AFTER SUITE';
};
before_all {
push @RESULT, 'BEFORE ALL foo';
};
after_all {
push @RESULT, 'AFTER ALL foo';
};
before_each {
push @RESULT, 'BEFORE EACH foo';
};
after_each {
push @RESULT, 'AFTER EACH foo';
};
it p => sub {
push @RESULT, 'test p';
};
};
describe 'x' => sub {
before_all {
push @RESULT, 'BEFORE ALL x';
};
after_all {
push @RESULT, 'AFTER ALL x';
};
it y => sub {
push @RESULT, 'test y';
};
it z => sub {
push @RESULT, 'test z';
};
};
runtests;
}
is(join("\n", @RESULT), join("\n", (
'BEFORE SUITE',
'BEFORE ALL foo',
'BEFORE EACH foo',
'test p',
'AFTER EACH foo',
'AFTER ALL foo',
'BEFORE ALL x',
'test y',
'test z',
'AFTER ALL x',
'AFTER SUITE',
)));
done_testing;