Commit | Line | Data |
c5133f85 |
1 | use strictures 1; |
2 | use Test::More; |
3 | |
4 | $ENV{OBJECT_REMOTE_TEST_LOGGER} = 1; |
5 | |
6 | BEGIN { |
7 | use Object::Remote::Logging qw( :log :dlog router arg_levels ); |
8 | is($Object::Remote::Logging::DID_INIT, 1, 'using logging class initializes it'); |
9 | } |
10 | |
11 | my $router = router(); |
12 | isa_ok($router, 'Object::Remote::Logging::Router'); |
13 | is($router, router(), 'Router object is a singleton'); |
14 | |
15 | my $levels = arg_levels(); |
16 | is(ref($levels), 'ARRAY', 'arg_levels returns array reference'); |
98bc05f5 |
17 | is_deeply( |
18 | $levels, [qw( trace debug verbose info warn error fatal )], |
19 | 'arg_levels has correct names' |
20 | ); |
c5133f85 |
21 | |
22 | #adds some noise into the string that's not significant just to be more thorough |
23 | my $selections_string = "Acme::Matt::Daemon \t *\t\t-Acme::POE::Knee"; |
24 | my %parsed_selections = Object::Remote::Logging::_parse_selections($selections_string); |
25 | my $selections_match = { '*' => 1, 'Acme::Matt::Daemon' => 1, 'Acme::POE::Knee' => 0 }; |
26 | is_deeply(\%parsed_selections, $selections_match, 'Selections parsed successfully' ); |
27 | |
28 | require 't/lib/ORFeedbackLogger.pm'; |
29 | my $logger = ORFeedbackLogger->new(level_names => $levels, min_level => 'trace'); |
30 | isa_ok($logger, 'ORFeedbackLogger'); |
31 | $router->connect($logger); |
32 | |
33 | $logger->reset; |
34 | log_info { "The quick brown fox jumped" }; |
35 | is($logger->feedback_output, "info: The quick brown fox jumped\n", 'log_info works'); |
36 | |
37 | $logger->reset; |
38 | Dlog_verbose { "over the lazy dog's $_" } 'back'; |
39 | is($logger->feedback_output, "verbose: over the lazy dog's \"back\"\n", 'Dlog_verbose works'); |
40 | |
41 | done_testing; |