This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update to include latest Test::Builder alpha
[perl5.git] / cpan / Test-Simple / t / Modern / Builder_Result_Diag.t
1 use strict;
2 use warnings;
3
4 use Test::More 'modern';
5 use Scalar::Util qw/isweak/;
6
7 require_ok 'Test::Builder::Result::Diag';
8
9 can_ok('Test::Builder::Result::Diag', qw/message/);
10
11 my $one = Test::Builder::Result::Diag->new(message => "\nFooo\nBar\nBaz\n");
12
13 isa_ok($one, 'Test::Builder::Result::Diag');
14 isa_ok($one, 'Test::Builder::Result');
15
16 is($one->to_tap, "\n# Fooo\n# Bar\n# Baz\n", "Got tap output");
17
18 $one->message( "foo bar\n" );
19 is($one->to_tap, "# foo bar\n", "simple tap");
20
21 is($one->linked, undef, "Not linked");
22
23 require Test::Builder::Result::Ok;
24 my $ok = Test::Builder::Result::Ok->new(
25     bool      => 0,
26     real_bool => 0,
27     trace     => Test::Builder::Trace->new
28 );
29
30 $one->linked($ok);
31 is($one->linked, $ok, "Now linked");
32 ok(isweak($one->{linked}), "Link reference is weak");
33
34 my $two = Test::Builder::Result::Diag->new(message => 'foo', linked => $ok);
35 ok(isweak($two->{linked}), "Link reference is weak even on construction");
36
37 done_testing;