[Jifty-commit] r3233 - in Template-Declare: inc/Module inc/Module/Install lib/Template t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sat May 12 01:25:53 EDT 2007


Author: jesse
Date: Sat May 12 01:25:52 2007
New Revision: 3233

Added:
   Template-Declare/t/deep_importing.t
Modified:
   Template-Declare/   (props changed)
   Template-Declare/META.yml
   Template-Declare/inc/Module/Install.pm
   Template-Declare/inc/Module/Install/Base.pm
   Template-Declare/inc/Module/Install/Can.pm
   Template-Declare/inc/Module/Install/Fetch.pm
   Template-Declare/inc/Module/Install/Makefile.pm
   Template-Declare/inc/Module/Install/Metadata.pm
   Template-Declare/inc/Module/Install/Win32.pm
   Template-Declare/inc/Module/Install/WriteAll.pm
   Template-Declare/lib/Template/Declare.pm
   Template-Declare/t/deep_aliasing.t

Log:
 r56805 at pinglin:  jesse | 2007-05-12 01:25:45 -0400
  deep import tests


Modified: Template-Declare/META.yml
==============================================================================
--- Template-Declare/META.yml	(original)
+++ Template-Declare/META.yml	Sat May 12 01:25:52 2007
@@ -1,3 +1,4 @@
+--- 
 abstract: Perlish declarative templates
 author: Jesse Vincent <jesse at bestpractical.com>
 build_requires: 
@@ -5,8 +6,11 @@
   Test::More: 0
   Test::Warn: 0
 distribution_type: module
-generated_by: Module::Install version 0.64
+generated_by: Module::Install version 0.65
 license: perl
+meta-spec: 
+  url: http://module-build.sourceforge.net/META-spec-v1.3.html
+  version: 1.3
 name: Template-Declare
 no_index: 
   directory: 

Modified: Template-Declare/inc/Module/Install.pm
==============================================================================
--- Template-Declare/inc/Module/Install.pm	(original)
+++ Template-Declare/inc/Module/Install.pm	Sat May 12 01:25:52 2007
@@ -28,7 +28,7 @@
     # This is not enforced yet, but will be some time in the next few
     # releases once we can make sure it won't clash with custom
     # Module::Install extensions.
-    $VERSION = '0.64';
+    $VERSION = '0.65';
 }
 
 # Whether or not inc::Module::Install is actually loaded, the

Modified: Template-Declare/inc/Module/Install/Base.pm
==============================================================================
--- Template-Declare/inc/Module/Install/Base.pm	(original)
+++ Template-Declare/inc/Module/Install/Base.pm	Sat May 12 01:25:52 2007
@@ -1,7 +1,7 @@
 #line 1
 package Module::Install::Base;
 
-$VERSION = '0.64';
+$VERSION = '0.65';
 
 # Suspend handler for "redefined" warnings
 BEGIN {

Modified: Template-Declare/inc/Module/Install/Can.pm
==============================================================================
--- Template-Declare/inc/Module/Install/Can.pm	(original)
+++ Template-Declare/inc/Module/Install/Can.pm	Sat May 12 01:25:52 2007
@@ -11,7 +11,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.64';
+	$VERSION = '0.65';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: Template-Declare/inc/Module/Install/Fetch.pm
==============================================================================
--- Template-Declare/inc/Module/Install/Fetch.pm	(original)
+++ Template-Declare/inc/Module/Install/Fetch.pm	Sat May 12 01:25:52 2007
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.64';
+	$VERSION = '0.65';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: Template-Declare/inc/Module/Install/Makefile.pm
==============================================================================
--- Template-Declare/inc/Module/Install/Makefile.pm	(original)
+++ Template-Declare/inc/Module/Install/Makefile.pm	Sat May 12 01:25:52 2007
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.64';
+	$VERSION = '0.65';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }
@@ -136,9 +136,13 @@
                 . "but we need version >= $perl_version";
     }
 
+    $args->{INSTALLDIRS} = $self->installdirs;
+
     my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} keys %$args;
-    if ($self->admin->preop) {
-        $args{dist} = $self->admin->preop;
+
+    my $user_preop = delete $args{dist}->{PREOP};
+    if (my $preop = $self->admin->preop($user_preop)) {
+        $args{dist} = $preop;
     }
 
     my $mm = ExtUtils::MakeMaker::WriteMakefile(%args);
@@ -205,4 +209,4 @@
 
 __END__
 
-#line 334
+#line 338

Modified: Template-Declare/inc/Module/Install/Metadata.pm
==============================================================================
--- Template-Declare/inc/Module/Install/Metadata.pm	(original)
+++ Template-Declare/inc/Module/Install/Metadata.pm	Sat May 12 01:25:52 2007
@@ -6,14 +6,14 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.64';
+	$VERSION = '0.65';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }
 
 my @scalar_keys = qw{
     name module_name abstract author version license
-    distribution_type perl_version tests
+    distribution_type perl_version tests installdirs
 };
 
 my @tuple_keys = qw{
@@ -56,6 +56,11 @@
     };
 }
 
+sub install_as_core   { $_[0]->installdirs('perl')   }
+sub install_as_cpan   { $_[0]->installdirs('site')   }
+sub install_as_site   { $_[0]->installdirs('site')   }
+sub install_as_vendor { $_[0]->installdirs('vendor') }
+
 sub sign {
     my $self = shift;
     return $self->{'values'}{'sign'} if defined wantarray and !@_;
@@ -279,9 +284,11 @@
 
     if (
         $self->_slurp($file) =~ m/
-        =head \d \s+
-        (?:licen[cs]e|licensing|copyright|legal)\b
-        (.*?)
+        (
+            =head \d \s+
+            (?:licen[cs]e|licensing|copyright|legal)\b
+            .*?
+        )
         (=head\\d.*|=cut.*|)
         \z
     /ixms
@@ -298,6 +305,7 @@
             'LGPL'                                            => 'lgpl',
             'BSD'                                             => 'bsd',
             'Artistic'                                        => 'artistic',
+            'MIT'                                             => 'MIT',
         );
         while ( my ( $pattern, $license ) = splice( @phrases, 0, 2 ) ) {
             $pattern =~ s{\s+}{\\s+}g;

Modified: Template-Declare/inc/Module/Install/Win32.pm
==============================================================================
--- Template-Declare/inc/Module/Install/Win32.pm	(original)
+++ Template-Declare/inc/Module/Install/Win32.pm	Sat May 12 01:25:52 2007
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.64';
+	$VERSION = '0.65';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: Template-Declare/inc/Module/Install/WriteAll.pm
==============================================================================
--- Template-Declare/inc/Module/Install/WriteAll.pm	(original)
+++ Template-Declare/inc/Module/Install/WriteAll.pm	Sat May 12 01:25:52 2007
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.64';
+	$VERSION = '0.65';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: Template-Declare/lib/Template/Declare.pm
==============================================================================
--- Template-Declare/lib/Template/Declare.pm	(original)
+++ Template-Declare/lib/Template/Declare.pm	Sat May 12 01:25:52 2007
@@ -215,18 +215,21 @@
 =cut
 
 sub alias {
-    my $alias_into      = caller(0);
-    my $mixin = shift;
-    my $prepend_path     = shift;
+    my $alias_into   = caller(0);
+    my $mixin        = shift;
+    my $prepend_path = shift;
     my $package_vars = shift;
 
-
     $prepend_path =~ s|/+/|/|g;
     $prepend_path =~ s|/$||;
 
-    my $alias_key = $mixin . " ".$prepend_path;
-    push @{$alias_into->aliases()}, $alias_key;
-    $alias_into->alias_metadata()->{$alias_key} =  { class=> $mixin, path => $prepend_path, package_vars => $package_vars };
+    my $alias_key = $mixin . " " . $prepend_path;
+    push @{ $alias_into->aliases() }, $alias_key;
+    $alias_into->alias_metadata()->{$alias_key} = {
+        class        => $mixin,
+        path         => $prepend_path,
+        package_vars => $package_vars
+    };
 
 }
 
@@ -346,6 +349,9 @@
     my $template_name = shift;
     my $show_private  = shift || 0;
 
+    
+    warn "$self -> resolve_template $template_name";
+
     foreach my $package ( reverse @{ Template::Declare->roots } ) {
         unless ($package and $package->isa('Template::Declare')) {
             warn "'@{[$package||'']} was listed as a Template::Declare root, but is not a Template::Declare subclass";
@@ -364,13 +370,16 @@
 
 
             $template_name = "/$template_name";
+            #warn "$self -> resolve_template checking alias $alias_key for $template_name";
             if ( $template_name =~ m{$alias_prefix/(.*)$} ) {
                 my $dispatch_to_template = $1;
-                if (my $coderef = $alias_class->has_template( $dispatch_to_template, $show_private)) {
+                if (my $coderef = $alias_class->has_template(
+                        $dispatch_to_template, $show_private)) {
+
                     # We're going to force $self to the aliased class
-                    return sub {  
-                        no strict 'refs'; 
-            
+                    return sub {
+                        no strict 'refs';
+
                         local $TEMPLATE_VARS->{$alias_class} = $package_vars;
                         &$coderef($alias_class);
                     };

Modified: Template-Declare/t/deep_aliasing.t
==============================================================================
--- Template-Declare/t/deep_aliasing.t	(original)
+++ Template-Declare/t/deep_aliasing.t	Sat May 12 01:25:52 2007
@@ -2,25 +2,25 @@
 use strict;
 
 
-package Plugin2::View;
+package SearchPlugin::View;
 
 use base qw/Template::Declare/;
 use Template::Declare::Tags;
 
 template 'search' => sub {
-    h1 {'Plugin2::View::search'};
+    h1 {'SearchPlugin::View::search'};
 };
 
-package Plugin1::View;
+package ListPlugin::View;
 
 use base qw/Template::Declare/;
 use Template::Declare::Tags;
 
 template 'listing' => sub {
-    h1 {'Plugin1::View::listing'};
+    h1 {'ListPlugin::View::listing'};
 };
 
-alias Plugin2::View under '/';
+alias SearchPlugin::View under '/';
 
 
 package MyApp::View;
@@ -30,7 +30,7 @@
 
 template 'toplevel' => sub {h1{'Toplevel'}};
 
-alias Plugin1::View under '/plugin';
+alias ListPlugin::View under '/plugin';
 
 package main;
 Template::Declare->init( roots => ['MyApp::View'] );
@@ -57,14 +57,17 @@
     unlike( $simple, qr'listing' , 'can not call a toplevel "listing" template');
 }
 {
-    my $simple = ( Template::Declare->show('/plugin/listing'));
-    like( $simple, qr'listing', "Can call /plugin/listing" );
-}
-{
     my $simple = ( Template::Declare->show('search'));
     unlike( $simple, qr'search', "Can not call a toplevel /search" );
 }
 {
+
+    warn "Trying to show /plugin/listing";
+    my $simple = ( Template::Declare->show('/plugin/listing'));
+    like( $simple, qr'listing', "Can call /plugin/listing" );
+}
+{
+    warn "Trying to show /plugin/search";
     my $simple = ( Template::Declare->show('/plugin/search'));
     like( $simple, qr'search' , "Can call /plugin/search");
 }

Added: Template-Declare/t/deep_importing.t
==============================================================================
--- (empty file)
+++ Template-Declare/t/deep_importing.t	Sat May 12 01:25:52 2007
@@ -0,0 +1,73 @@
+use warnings;
+use strict;
+
+
+package Plugin2::View;
+
+use base qw/Template::Declare/;
+use Template::Declare::Tags;
+
+template 'search' => sub {
+    h1 {'Plugin2::View::search'};
+};
+
+package Plugin1::View;
+
+use base qw/Template::Declare/;
+use Template::Declare::Tags;
+
+template 'listing' => sub {
+    h1 {'Plugin1::View::listing'};
+};
+
+import_templates Plugin2::View under '/';
+
+
+package MyApp::View;
+
+use base qw/Template::Declare/;
+use Template::Declare::Tags;
+
+template 'toplevel' => sub {h1{'Toplevel'}};
+
+import_templates Plugin1::View under '/plugin';
+
+package main;
+Template::Declare->init( roots => ['MyApp::View'] );
+
+use Test::More tests => 16;
+require "t/utils.pl";
+
+ok( MyApp::View->has_template('toplevel') );
+ok( !MyApp::View->has_template('listing') );
+ok( !MyApp::View->has_template('search') );
+ok( MyApp::View->has_template('/plugin/listing'), 'has listing template' );
+ok( MyApp::View->has_template('/plugin/search'), 'has search template' );
+
+
+
+
+
+{
+    my $simple = ( Template::Declare->show('toplevel'));
+    like( $simple, qr'Toplevel' );
+}
+{
+    my $simple = ( Template::Declare->show('listing'));
+    unlike( $simple, qr'listing' , 'can not call a toplevel "listing" template');
+}
+{
+    my $simple = ( Template::Declare->show('/plugin/listing'));
+    like( $simple, qr'listing', "Can call /plugin/listing" );
+}
+{
+    my $simple = ( Template::Declare->show('search'));
+    unlike( $simple, qr'search', "Can not call a toplevel /search" );
+}
+{
+    my $simple = ( Template::Declare->show('/plugin/search'));
+    like( $simple, qr'search' , "Can call /plugin/search");
+}
+
+
+1;


More information about the Jifty-commit mailing list