annotate _test/Test/Web/View.pm @ 238:b8c724f6de36

DOM model refactoring TT view refactoring, controls are no longer derived from DOM nodes bugfixes
author sergey
date Tue, 16 Oct 2012 01:33:06 +0400
parents 7a920771fd8e
children 0f59b2de72af
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
1 package Test::Web::View;
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
2 use IMPL::Profiler::Memory;
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
3 use strict;
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
4 use warnings;
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
5 use utf8;
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
6
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
7 use parent qw(IMPL::Test::Unit);
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
8 __PACKAGE__->PassThroughArgs;
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
9
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
10 use File::Slurp;
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
11 use Scalar::Util qw(weaken);
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
12
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
13 use IMPL::Test qw(assert test GetCallerSourceLine);
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
14 use IMPL::Web::View::TTLoader();
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
15
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
16 use constant {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
17 TTLoader => typeof IMPL::Web::View::TTLoader,
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
18 MProfiler => 'IMPL::Profiler::Memory'
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
19 };
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
20
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
21 sub AssertMemoryLeak {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
22 my $code = shift;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
23 my $dump = shift;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
24
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
25 my $data = MProfiler->Monitor($code);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
26
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
27 if ($data->isLeak and $dump) {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
28 write_file("dump.out", { binmode => ':utf8' }, $data->Dump() );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
29 }
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
30
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
31 assert( not($data->isLeak), "Memory leak detected", GetCallerSourceLine() , @{$data->{objects}} );
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
32 }
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
33
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
34 sub templatesDir {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
35 $_[0]->GetResourceDir('Resources','TTView');
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
36 }
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
37
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
38 sub CreateLoader {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
39 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
40
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
41 my $loader = TTLoader->new(
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
42 {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
43 INCLUDE_PATH => [
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
44 $this->templatesDir
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
45 ],
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
46 INTERPOLATE => 1,
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
47 POST_CHOMP => 1,
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
48 ENCODING => 'utf-8'
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
49 },
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
50 ext => '.tt',
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
51 initializer => 'global.tt',
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
52 globals => {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
53 site => {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
54 name => 'Test Site'
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
55 },
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
56 date => {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
57 now => sub { localtime(time); }
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
58 },
195
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
59 dynamic => sub { 'this is a dynamic value' },
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
60 view => {
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
61 }
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
62 },
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
63 layoutBase => 'Layout'
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
64 );
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
65 }
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
66
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
67 test TTLoaderTests => sub {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
68 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
69
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
70 my $loader = $this->CreateLoader();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
71
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
72 # test the loader to be able to find a desired resource
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
73 assert( defined($loader->template('simple') ) );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
74
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
75 # loader should be initialized on demand
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
76 assert( not $loader->isInitialized );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
77
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
78 # loader should be able to load a document
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
79 my $doc = $loader->document('simple');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
80 assert(defined $doc);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
81
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
82 assert( $loader->isInitialized );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
83 assert( $loader->context->stash->get('user') eq 'test_user');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
84
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
85 # document should inherit loader's context
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
86 assert( $doc->context->stash->get('user') eq 'test_user');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
87
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
88 # document should not have 'this' template variable
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
89 assert( not $doc->templateVars('this') );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
90
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
91 assert( $doc->context != $loader->context); # document should have an own context
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
92 };
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
93
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
94 test TTDocumentTests => sub {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
95 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
96 my $loader = $this->CreateLoader();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
97
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
98 my $doc = $loader->document('simple');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
99
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
100 assert(defined $doc);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
101 $doc->title('test document');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
102
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
103 assert($doc->name eq 'document');
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
104 assert($doc->title eq 'test document');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
105
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
106 assert(not $doc->can('notexists')); # autoloaded property should be ignored
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
107 assert(not defined $doc->notexists); # nonexisting property
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
108 assert($doc->template->version == 10); # static metadata
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
109 assert($doc->templateVars('notexists') eq ''); #nonexisting template variable
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
110 assert($doc->templateVars('user') eq 'test_user'); # global data
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
111 assert($doc->templateVars('templateVar') eq ''); # defined in CTOR block, should be local
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
112 assert($doc->templateVars('dynamic') eq 'this is a dynamic value');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
113
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
114 my $text = $doc->Render();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
115 my $expected = read_file($this->GetResourceFile('Resources','TTView.Output','simple.txt'), binmode => ':utf8');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
116
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
117 assert($text eq $expected, "Bad Render() output","Got: $text", "Expected: $expected");
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
118
185
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
119 };
ae8072f2f2a3 IMPL::Web::View::TTDocument tests, fixes
cin
parents: 184
diff changeset
120
186
6c0fee769b0c IMPL::Web::View::TTControl tests, fixes
cin
parents: 185
diff changeset
121 test TTControlTests => sub {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
122 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
123
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
124 my $loader = $this->CreateLoader();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
125
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
126 my $doc = $loader->document('simple');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
127
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
128 assert(defined $doc);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
129
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
130 my $factory = $doc->RequireControl('My/Org/Panel');
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
131
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
132 assert(defined $factory);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
133
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
134
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
135 assert($factory->context->stash != $doc->context->stash);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
136
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
137 assert($factory == $doc->RequireControl('My/Org/Panel'), "Control should be loaded only once");
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
138
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
139 my $ctl = $factory->new('information', { visualClass => 'simple', data => ['one','two','hello world'] } );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
140
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
141 assert(defined $ctl);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
142
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
143 assert($ctl->name eq 'information', "Created control should have a name", "Got: ".$ctl->name, "Expected: information");
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
144
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
145 assert($ctl->GetAttribute('visualClass') eq 'simple');
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
146
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
147 assert($factory->instances == 1);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
148
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
149 $doc->childNodes([$ctl]);
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
150
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
151 assert($doc->templateVars('dojo.require'));
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
152 assert(ref $doc->templateVars('dojo.require') eq 'ARRAY');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
153 assert($doc->templateVars('dojo.require')->[0] eq 'dijit.form.Input' );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
154
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
155 my $text = $ctl->Render();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
156
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
157 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'Panel.txt'), binmode => ':utf8');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
158 assert($text eq $expected, '$ctl->Render(): Bad output', "Got: $text", "Expected: $expected");
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
159
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
160
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
161
191
78a18a2b6266 IMPL::Web::View improvements (unstable)
cin
parents: 190
diff changeset
162 };
78a18a2b6266 IMPL::Web::View improvements (unstable)
cin
parents: 190
diff changeset
163
78a18a2b6266 IMPL::Web::View improvements (unstable)
cin
parents: 190
diff changeset
164 test TestDocumentLayout => sub {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
165 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
166
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
167 my $loader = $this->CreateLoader();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
168
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
169 my $doc = $loader->document(
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
170 'complex',
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
171 {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
172 data => [qw(one two three)],
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
173 site => {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
174 name => 'Test Site'
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
175 }
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
176 }
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
177 );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
178
195
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
179 assert($doc->layout eq 'default');
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
180
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
181 assert($doc->templateVars('dojo.require')->[0]);
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
182
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
183 my $text = $doc->Render();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
184 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'complex.default.txt'), binmode => ':utf8' );
195
7a920771fd8e IMPL::Web::View changed document layout handling, docs, examples
cin
parents: 194
diff changeset
185 #assert($text eq $expected, '$doc->Render(): Bad output', "Got: $text", "Expected: $expected");
186
6c0fee769b0c IMPL::Web::View::TTControl tests, fixes
cin
parents: 185
diff changeset
186 };
6c0fee769b0c IMPL::Web::View::TTControl tests, fixes
cin
parents: 185
diff changeset
187
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
188 test TestMemoryLeaks => sub {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
189 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
190
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
191 my $loader = $this->CreateLoader();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
192 $loader->document('simple'); # force loader initialization
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
193
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
194 AssertMemoryLeak(sub {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
195 my $doc = $loader->document('simple');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
196 });
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
197
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
198 AssertMemoryLeak(sub {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
199 my $doc = $loader->document('simple');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
200 $doc->Render( { self => $doc } );
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
201 });
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
202
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
203 $loader->template('Layout/default');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
204 $loader->template('My/Org/Panel');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
205 $loader->template('My/Org/TextPreview');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
206 AssertMemoryLeak(sub {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
207 my $doc = $loader->document('simple');
238
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
208 my $factory = $doc->RequireControl('My/Org/Panel');
b8c724f6de36 DOM model refactoring
sergey
parents: 195
diff changeset
209 my $ctl = $doc->childNodes($factory->new('information', { visualClass => 'complex' }) );
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
210 });
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
211
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
212 $loader->template('complex');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
213 AssertMemoryLeak(sub {
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
214 my $doc = $loader->document('complex');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
215 $doc->Render();
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
216 },'dump');
4d0e1962161c Replaced tabs with spaces
cin
parents: 191
diff changeset
217
188
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
218 };
029c9610528c Memory leak tests in IMPL::Web::View
cin
parents: 186
diff changeset
219
183
2184fa28b49e IMPL::Web::View::TTLoader tests
cin
parents:
diff changeset
220 1;