namespace ::Easy::Default
[p5sagit/Log-Contextual.git] / t / router_api.t
1 use strict;
2 use warnings;
3 use Test::More;
4 use lib 't/lib';
5
6 use TestExporter qw(:log),
7   -logger         => 'logger value',
8   -default_logger => 'default logger value',
9   -package_logger => 'package logger value';
10
11 my @test_args = qw( some argument values );
12 log_info { "Ignored value" } @test_args;
13
14 my $results     = TestExporter->router->captured;
15 my %export_info = (
16    exporter  => 'TestExporter',
17    target    => 'main',
18    arguments => {
19       logger         => 'logger value',
20       default_logger => 'default logger value',
21       package_logger => 'package logger value'
22    },
23 );
24 my %message_info = (
25    exporter       => 'TestExporter',
26    caller_package => 'main',
27    caller_level   => 1,
28    message_level  => 'info',
29    message_args   => \@test_args,
30 );
31
32 is_deeply($results->{before_import},
33    \%export_info, 'before_import() values are correct');
34 is_deeply($results->{after_import},
35    \%export_info, 'after_import() values are correct');
36
37 #can't really compare the sub ref value so make sure it exists and is the right type
38 #and remove it for the later result check
39 my $message_block = delete $results->{message}->{message_sub};
40 is(ref $message_block,
41    'CODE', 'handle_log_request() got a sub ref for the message generator');
42 is_deeply($results->{message}, \%message_info,
43    'handle_log_request() other values are correct');
44
45 done_testing;