root/branches/release-35/t/65-ssi.t @ 1949

Revision 1949, 3.1 kB (checked in by takayama, 20 months ago)

Fixed BugId:75137
* Changed to using cache_key for include cache directory

Line 
1#!/usr/bin/perl -w
2
3use strict;
4use warnings;
5
6use lib 'extlib';
7use lib 'lib';
8use lib 't/lib';
9
10use Test::More qw(no_plan);
11
12use MT;
13
14use vars qw( $DB_DIR $T_CFG );
15use MT::Test qw(:db :data);
16
17my $mt = MT->instance( Config => $T_CFG ) or die MT->errstr;
18isa_ok($mt, 'MT');
19
20
21my $blog = MT->model('blog')->load(1);
22$blog->include_cache(1);
23
24my $include = MT->model('template')->new;
25$include->blog_id($blog->id);
26$include->name('Included Template');
27$include->type('custom');
28$include->text('template was included at <mt:date format="%X %x"> <mt:getvar name="woot">');
29$include->save;
30
31my $tmpl = MT->model('template')->new;
32$tmpl->blog_id($blog->id);
33$tmpl->text(q(hi <mt:include module="Included Template"> bye));
34
35require MT::Template::Context;
36my $ctx = MT::Template::Context->new;
37my $out = $tmpl->build($ctx, {});
38
39ok(defined $out, 'test template built');
40diag($tmpl->errstr) if !defined $out;
41like($out, qr{ template \s was \s included }xms, 'test template included included template');
42
43
44$tmpl = MT->model('template')->new;
45$tmpl->blog_id($blog->id);
46$tmpl->text(q(hi <mt:include module="Included Template" cache_key="woot" ttl="1000"> bye));
47
48$ctx = MT::Template::Context->new;
49$ctx->{__stash}{vars}{woot} = 'awesome';
50$out = $tmpl->build($ctx, {});
51
52ok(defined $out, 'test template built');
53diag($tmpl->errstr) if !defined $out;
54like($out, qr{ template \s was \s included }xms, 'test template included cached included template');
55like($out, qr{ awesome }xms, 'test template included variable value');
56
57
58my $first_text = $out;
59
60$tmpl = MT->model('template')->new;
61$tmpl->blog_id($blog->id);
62$tmpl->text(q(hi <mt:include module="Included Template" cache_key="woot" ttl="1000"> bye));
63
64$ctx = MT::Template::Context->new;
65$ctx->{__stash}{vars}{woot} = 'terrible';
66$out = $tmpl->build($ctx, {});
67
68ok(defined $out, 'test template built');
69like($out, qr{ template \s was \s included }xms, 'test template included cached included template again');
70like($out, qr{ awesome }xms, 'test template included old cached variable value');
71
72
73$blog->include_system('shtml');
74$blog->save;
75
76$tmpl = MT->model('template')->new;
77$tmpl->blog_id($blog->id);
78$tmpl->text(q(hi <mt:include module="Included Template" cache_key="woot" ttl="1000" ssi="1"> bye));
79
80$ctx = MT::Template::Context->new;
81$ctx->{__stash}{vars}{woot} = 'terrible';
82$out = $tmpl->build($ctx, {});
83
84ok(defined $out, 'test template built');
85my $site_url = $blog->site_url;
86$site_url =~ s{ \A \w+ :// [^/]+ }{}xms;
87$site_url =~ s{ / \z }{}xms;
88like($out, qr(\Ahi <!--#include virtual="${site_url}/includes_c/woot/included_template.html" --> bye\z)ms,
89    'test template included template by ssi');
90
91
92$tmpl = MT->model('template')->new;
93$tmpl->blog_id($blog->id);
94$tmpl->text(q(hi <mt:include module="Included Template" cache_key="w" ttl="1000" ssi="1"> bye));
95
96$ctx = MT::Template::Context->new;
97$ctx->{__stash}{vars}{woot} = 'terrible';
98$out = $tmpl->build($ctx, {});
99
100ok(defined $out, 'test template built');
101$site_url = $blog->site_url;
102$site_url =~ s{ \A \w+ :// [^/]+ }{}xms;
103$site_url =~ s{ / \z }{}xms;
104like($out, qr(\Ahi <!--#include virtual="${site_url}/includes_c/w/included_template.html" --> bye\z)ms,
105    'test template included template by ssi');
106
Note: See TracBrowser for help on using the browser.