[SCM] libpackage-variant-perl Debian packaging branch, master, updated. debian/1.001003-1-16-g363631d

Robert Sedlacek rs at 474.at
Thu May 9 17:13:54 UTC 2013


The following commit has been merged in the master branch:
commit 1abbe9d7ebbbf384569a0a74bd96a1d17843c749
Author: Robert Sedlacek <rs at 474.at>
Date:   Mon Nov 28 21:50:58 2011 +0100

    import arguments now supported

diff --git a/lib/Package/Variant.pm b/lib/Package/Variant.pm
index c99e24f..7e0cbe0 100644
--- a/lib/Package/Variant.pm
+++ b/lib/Package/Variant.pm
@@ -40,8 +40,14 @@ sub import {
 sub build_variant_of {
   my ($me, $variable, @args) = @_;
   my $variant_name = "${variable}::_Variant_".++$Variable{$variable}{anon};
-  my @to_import = keys %{$Variable{$variable}{args}{importing}||{}};
-  my $setup = join("\n", "package ${variant_name};", (map "use $_;", @to_import), "1;");
+  my $import = $Variable{$variable}{args}{importing} || {};
+  my $setup = join("\n",
+    "package ${variant_name};",
+    (map sprintf(
+      q!use %s @{$import->{'%s'}||[]};!, $_, quotemeta($_),
+    ), keys %$import),
+    "1;",
+  );
   eval $setup
     or die "evaling ${setup} failed: $@";
   my $subs = $Variable{$variable}{subs};
diff --git a/t/01simple.t b/t/01simple.t
index 535d499..1520886 100644
--- a/t/01simple.t
+++ b/t/01simple.t
@@ -7,7 +7,7 @@ my @DECLARED;
 
 BEGIN {
   package TestSugar;
-  use Exporter;
+  use Exporter 'import';
   our @EXPORT_OK = qw( declare );
   sub declare { push @DECLARED, [@_] }
   $INC{'TestSugar.pm'} = __FILE__;
@@ -49,7 +49,7 @@ is_deeply shift(@DECLARED), [target => $variant],
   'target passed via proxy';
 is_deeply shift(@DECLARED), [args => [3..7]],
   'arguments passed via proxy';
-is_deeply shift(@DECLARED), [class => $variant],
+is_deeply shift(@DECLARED), [class => 'TestVariable'],
   'class method resolution';
 is scalar(@DECLARED), 0, 'proxy sub called right amount of times';
 

-- 
libpackage-variant-perl Debian packaging



More information about the Pkg-perl-cvs-commits mailing list