summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/modules/Event/Exception.t
blob: 4d58aad7d7a4a4e259b26ff3d54a493c540695d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
use strict;
use warnings;
use Test2::Tools::Tiny;
use Test2::Event::Exception;

my $exception = Test2::Event::Exception->new(
    trace => {frame => []},
    error => "evil at lake_of_fire.t line 6\n",
);

ok($exception->causes_fail, "Exception events always cause failure");

is($exception->summary, "Exception: evil at lake_of_fire.t line 6", "Got summary");

ok($exception->diagnostics, "Exception events are counted as diagnostics");

my $facet_data = $exception->facet_data;
ok($facet_data->{about}, "Got common facet data");

is_deeply(
    $facet_data->{errors},
    [{
        tag => 'ERROR',
        fail => 1,
        details => "evil at lake_of_fire.t line 6\n",
    }],
    "Got error facet",
);

my $hash = {an => 'error'};
my $str = "$hash";

$exception = Test2::Event::Exception->new(
    trace => {frame => []},
    error => $hash,
);

ok($exception->causes_fail, "Exception events always cause failure");

is($exception->error, $str, "Got stringified exception");

$facet_data = $exception->facet_data;
ok($facet_data->{about}, "Got common facet data");

is_deeply(
    $facet_data->{errors},
    [{
        tag => 'ERROR',
        fail => 1,
        details => $str,
    }],
    "Got error facet",
);

done_testing;