[Jifty-commit] r3070 - in Template-Declare: t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Mar 27 23:21:30 EDT 2007


Author: jesse
Date: Tue Mar 27 23:21:29 2007
New Revision: 3070

Added:
   Template-Declare/t/closures.t
Modified:
   Template-Declare/   (props changed)

Log:
 r54255 at pinglin:  jesse | 2007-03-27 20:20:21 -0700
 * Tests for closures


Added: Template-Declare/t/closures.t
==============================================================================
--- (empty file)
+++ Template-Declare/t/closures.t	Tue Mar 27 23:21:29 2007
@@ -0,0 +1,110 @@
+use warnings;
+use strict;
+
+
+package TestApp::UI;
+use base qw/Template::Declare/;
+use Template::Declare::Tags;
+use Test::More tests => 16;
+
+
+template simple => sub {
+
+html { 
+    head { }
+        body {
+            show 'content'
+        }
+}
+
+};
+
+template content => sub {
+        div { attr { id => 'body' }
+            outs('This is my content')
+        }
+
+};
+
+
+template closure_1 => sub {
+    my $item = b { 'Bolded'};
+    i { $item->() };
+};
+
+template closure_2 => sub {
+    my $item = b { 'Bolded'};
+    i { $item };
+};
+
+template closure_3 => sub {
+    my $item = b { 'Bolded'};
+    i { outs($item)};
+};
+
+template closure_4 => sub {
+    my $item = b { 'Bolded'};
+    i { outs("My ". $item)};
+};
+
+template closure_5 => sub {
+    my $item = b { 'Bolded'};
+    i { outs("My " , $item)};
+};
+
+
+
+package Template::Declare::Tags;
+require "t/utils.pl";
+use Test::More;
+
+our $self;
+local $self = {};
+bless $self, 'TestApp::UI';
+
+Template::Declare->init( roots => ['TestApp::UI']);
+
+{
+Template::Declare->buffer->clear;
+my $simple =(show('simple'));
+ok($simple =~ 'This is my content');
+#diag ($simple);
+ok_lint($simple);
+}
+{
+Template::Declare->buffer->clear;
+my $simple =Template::Declare->show('simple');
+ok($simple =~ 'This is my content');
+#diag ($simple);
+ok_lint($simple);
+}
+{
+Template::Declare->buffer->clear;
+Template::Declare->show('simple');
+ok(Template::Declare->buffer->data() =~ 'This is my content');
+#diag ($simple);
+ok_lint(Template::Declare->buffer->data());
+}
+
+
+for (qw(closure_1 closure_2 closure_3)) {
+Template::Declare->buffer->clear;
+my $simple = Template::Declare->show($_);
+ok($simple =~ /<i>\s*<b>\s*Bolded\s*<\/b>\s*<\/i>/ms);
+#diag ($simple);
+ok_lint($simple);
+}
+
+TODO: {
+
+local $TODO = ' string interpolation is busted';
+for (qw(closure_4 closure_5)) {
+Template::Declare->buffer->clear;
+my $simple = Template::Declare->show($_);
+ok($simple =~ /<i>My\s*<b>Bolded\s*<\/b>\s*<\/i>/ms);
+diag ($simple);
+ok_lint(Template::Declare->buffer->data());
+}
+
+};
+1;


More information about the Jifty-commit mailing list