Mercurial > pub > Impl
comparison _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 |
comparison
equal
deleted
inserted
replaced
237:61db68166c37 | 238:b8c724f6de36 |
---|---|
98 my $doc = $loader->document('simple'); | 98 my $doc = $loader->document('simple'); |
99 | 99 |
100 assert(defined $doc); | 100 assert(defined $doc); |
101 $doc->title('test document'); | 101 $doc->title('test document'); |
102 | 102 |
103 assert($doc->nodeName eq 'document'); | 103 assert($doc->name eq 'document'); |
104 assert($doc->title eq 'test document'); | 104 assert($doc->title eq 'test document'); |
105 | 105 |
106 assert(not $doc->can('notexists')); # autoloaded property should be ignored | 106 assert(not $doc->can('notexists')); # autoloaded property should be ignored |
107 assert(not defined $doc->notexists); # nonexisting property | 107 assert(not defined $doc->notexists); # nonexisting property |
108 assert($doc->template->version == 10); # static metadata | 108 assert($doc->template->version == 10); # static metadata |
125 | 125 |
126 my $doc = $loader->document('simple'); | 126 my $doc = $loader->document('simple'); |
127 | 127 |
128 assert(defined $doc); | 128 assert(defined $doc); |
129 | 129 |
130 my $factory = $doc->require('My/Org/Panel'); | 130 my $factory = $doc->RequireControl('My/Org/Panel'); |
131 | 131 |
132 assert(defined $factory); | 132 assert(defined $factory); |
133 | 133 |
134 | 134 |
135 assert($factory->context->stash != $doc->context->stash); | 135 assert($factory->context->stash != $doc->context->stash); |
136 | 136 |
137 assert($factory == $doc->require('My/Org/Panel'), "Control should be loaded only once"); | 137 assert($factory == $doc->RequireControl('My/Org/Panel'), "Control should be loaded only once"); |
138 | 138 |
139 my $ctl = $factory->new('information', { visualClass => 'simple', data => ['one','two','hello world'] } ); | 139 my $ctl = $factory->new('information', { visualClass => 'simple', data => ['one','two','hello world'] } ); |
140 | 140 |
141 assert(defined $ctl); | 141 assert(defined $ctl); |
142 | 142 |
143 assert($ctl->nodeName eq 'information', "Created control should have a name", "Got: ".$ctl->nodeName, "Expected: information"); | 143 assert($ctl->name eq 'information', "Created control should have a name", "Got: ".$ctl->name, "Expected: information"); |
144 | 144 |
145 assert($ctl->nodeProperty('visualClass') eq 'simple'); | 145 assert($ctl->GetAttribute('visualClass') eq 'simple'); |
146 | 146 |
147 assert($factory->instances == 1); | 147 assert($factory->instances == 1); |
148 | 148 |
149 $doc->appendChild($ctl); | 149 $doc->childNodes([$ctl]); |
150 | 150 |
151 assert($doc->templateVars('dojo.require')); | 151 assert($doc->templateVars('dojo.require')); |
152 assert(ref $doc->templateVars('dojo.require') eq 'ARRAY'); | 152 assert(ref $doc->templateVars('dojo.require') eq 'ARRAY'); |
153 assert($doc->templateVars('dojo.require')->[0] eq 'dijit.form.Input' ); | 153 assert($doc->templateVars('dojo.require')->[0] eq 'dijit.form.Input' ); |
154 | 154 |
203 $loader->template('Layout/default'); | 203 $loader->template('Layout/default'); |
204 $loader->template('My/Org/Panel'); | 204 $loader->template('My/Org/Panel'); |
205 $loader->template('My/Org/TextPreview'); | 205 $loader->template('My/Org/TextPreview'); |
206 AssertMemoryLeak(sub { | 206 AssertMemoryLeak(sub { |
207 my $doc = $loader->document('simple'); | 207 my $doc = $loader->document('simple'); |
208 my $factory = $doc->require('My/Org/Panel'); | 208 my $factory = $doc->RequireControl('My/Org/Panel'); |
209 my $ctl = $doc->AppendChild($factory->new('information', { visualClass => 'complex' }) ); | 209 my $ctl = $doc->childNodes($factory->new('information', { visualClass => 'complex' }) ); |
210 }); | 210 }); |
211 | 211 |
212 $loader->template('complex'); | 212 $loader->template('complex'); |
213 AssertMemoryLeak(sub { | 213 AssertMemoryLeak(sub { |
214 my $doc = $loader->document('complex'); | 214 my $doc = $loader->document('complex'); |