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