1 # $Id: 0_Config.t,v 1.6 2003/05/20 08:50:10 grantm Exp $
5 use Test::More tests => 1;
8 # Build up a list of installed modules
10 my @mod_list = qw(XML::Simple Storable XML::Parser XML::SAX);
13 # If XML::SAX is installed, add a list of installed SAX parsers
15 eval " use XML::SAX; ";
16 my $default_parser = '';
18 push @mod_list, 'XML::NamespaceSupport';
19 push @mod_list, map { $_->{Name} } @{XML::SAX->parsers()};
20 $default_parser = ref(XML::SAX::ParserFactory->parser());
24 # Extract the version number from each module
27 foreach my $module (@mod_list) {
28 eval " require $module; ";
31 $version{$module} = ${$module . '::VERSION'} || "Unknown";
35 $default_parser = 'XML::Parser' if(!$default_parser && $version{'XML::Parser'});
38 # Add version number of the Perl binary
40 eval ' use Config; $version{perl} = $Config{version} '; # Should never fail
44 unshift @mod_list, 'perl';
47 # Check for preferred parser via environment setting
49 my $preferred_parser = $ENV{XML_SIMPLE_PREFERRED_PARSER} || ' ';
52 # Print details of installed modules on STDERR
54 diag(sprintf("\r# %-30s %s\n", 'Package', 'Version'));
55 foreach my $module (@mod_list) {
56 $version{$module} = 'Not Installed' unless(defined($version{$module}));
57 $version{$module} .= " (default parser)" if($module eq $default_parser);
58 $version{$module} .= " (preferred parser)" if($module eq $preferred_parser);
59 diag(sprintf(" %-30s %s\n", $module, $version{$module}));
64 ok(1, "Dumped config");