1use strict;
2use warnings;
3
4use Test::More;
5
6my %deps = (
7    ApacheLog             => 'Apache::Log',
8    File                  => '',
9    'File::Locked'        => '',
10    Handle                => '',
11    Screen                => '',
12    Syslog                => 'Sys::Syslog 0.25',
13    'Email::MailSend'     => 'Mail::Send',
14    'Email::MIMELite'     => 'MIME::Lite',
15    'Email::MailSendmail' => 'Mail::Sendmail',
16    'Email::MailSender'   => 'Mail::Sender',
17);
18
19plan tests => 1 + scalar keys %deps;
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