1use strict;
2use warnings;
3
4use Test::More;
5
6my %deps = (
7    ApacheLog             => 'Apache::Log',
8    Code                  => q{},
9    File                  => q{},
10    'File::Locked'        => q{},
11    Handle                => q{},
12    Null                  => q{},
13    Screen                => q{},
14    Syslog                => 'Sys::Syslog 0.28',
15    'Email::MailSend'     => 'Mail::Send',
16    'Email::MIMELite'     => 'MIME::Lite',
17    'Email::MailSendmail' => 'Mail::Sendmail',
18    'Email::MailSender'   => 'Mail::Sender',
19);
20
21use_ok('Log::Dispatch');
22
23for my $subclass ( sort keys %deps ) {
24    my $module = "Log::Dispatch::$subclass";
25
26    if ( !$deps{$subclass}
27        || ( eval "use $deps{$subclass}; 1" && !$@ ) ) {
28        use_ok($module);
29    }
30    else {
31    SKIP:
32        {
33            skip "Cannot load $module without $deps{$subclass}", 1;
34        }
35    }
36}
37
38done_testing();
39