Notify us of what versions of everything we have from Mouse::Util (and if it even...
Shawn M Moore [Sun, 28 Sep 2008 17:29:16 +0000 (17:29 +0000)]
lib/Mouse/Util.pm
t/000-load.t

index f437a6c..388a5a6 100644 (file)
@@ -179,6 +179,8 @@ our %dependencies = (
     },
 );
 
+our %loaded;
+
 our @EXPORT_OK = map { keys %$_ } values %dependencies;
 our %EXPORT_TAGS = (
     all  => \@EXPORT_OK,
@@ -191,6 +193,8 @@ for my $module_name (keys %dependencies) {
         eval "require $module_name; 1";
     };
 
+    $loaded{$module_name} = $loaded;
+
     for my $method_name (keys %{ $dependencies{ $module_name } }) {
         my $producer = $dependencies{$module_name}{$method_name};
         my $implementation;
index a075550..a78968a 100644 (file)
@@ -5,3 +5,17 @@ use Test::More tests => 1;
 
 use_ok 'Mouse';
 
+diag "Soft dependency versions:";
+for my $module_name (keys %Mouse::Util::loaded) {
+    my $version;
+    if ($Mouse::Util::loaded{$module_name}) {
+        no strict 'refs';
+        $version = ${$module_name . '::VERSION'};
+    }
+    else {
+        $version = "(provided by Mouse::Util)";
+    }
+
+    diag "    $module_name: $version";
+}
+