Mercurial > pub > Impl
comparison _test/Test/Web/View.pm @ 288:3a9cfea098dd
*TTView refactoring: removed RequireControl method, etc.
| author | sergey |
|---|---|
| date | Tue, 19 Feb 2013 19:58:27 +0400 |
| parents | 2d253e6e4a88 |
| children | 85572f512abc |
comparison
equal
deleted
inserted
replaced
| 287:2d253e6e4a88 | 288:3a9cfea098dd |
|---|---|
| 7 use parent qw(IMPL::Test::Unit); | 7 use parent qw(IMPL::Test::Unit); |
| 8 __PACKAGE__->PassThroughArgs; | 8 __PACKAGE__->PassThroughArgs; |
| 9 | 9 |
| 10 use File::Slurp; | 10 use File::Slurp; |
| 11 use Scalar::Util qw(weaken); | 11 use Scalar::Util qw(weaken); |
| 12 | 12 use Data::Dumper; |
| 13 use IMPL::lang; | 13 use IMPL::lang; |
| 14 use IMPL::Test qw(assert assertarray test GetCallerSourceLine); | 14 use IMPL::Test qw(assert assertarray test GetCallerSourceLine); |
| 15 use IMPL::Web::View::TTLoader(); | 15 use IMPL::Web::View::TTLoader(); |
| 16 | 16 |
| 17 use constant { | 17 use constant { |
| 110 assert($doc->template->version == 10); # static metadata | 110 assert($doc->template->version == 10); # static metadata |
| 111 assert($doc->templateVars('notexists') eq ''); #nonexisting template variable | 111 assert($doc->templateVars('notexists') eq ''); #nonexisting template variable |
| 112 assert($doc->templateVars('user') eq 'test_user'); # global data | 112 assert($doc->templateVars('user') eq 'test_user'); # global data |
| 113 assert($doc->templateVars('templateVar') eq ''); # defined in CTOR block, should be local | 113 assert($doc->templateVars('templateVar') eq ''); # defined in CTOR block, should be local |
| 114 assert($doc->templateVars('dynamic') eq 'this is a dynamic value'); | 114 assert($doc->templateVars('dynamic') eq 'this is a dynamic value'); |
| 115 assert($doc->context->stash->get('user') eq 'test_user' ); # runtime context should be derived from documentContext | |
| 116 $doc->context->stash->set('user', 'nobody'); | |
| 117 assert($doc->templateVars('user') eq 'test_user'); # isolated | |
| 118 $doc->context->stash->set('user', 'test_user'); | |
| 115 | 119 |
| 116 my $text = $doc->Render(); | 120 my $text = $doc->Render(); |
| 117 my $expected = read_file($this->GetResourceFile('Resources','TTView.Output','simple.txt'), binmode => ':utf8'); | 121 my $expected = read_file($this->GetResourceFile('Resources','TTView.Output','simple.txt'), binmode => ':utf8'); |
| 118 | 122 |
| 119 assert($text eq $expected, "Bad Render() output","Got: $text", "Expected: $expected"); | 123 assert($text eq $expected, "Bad Render() output","Got: $text", "Expected: $expected"); |
| 157 my $text = $ctl->Render(); | 161 my $text = $ctl->Render(); |
| 158 | 162 |
| 159 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'Panel.txt'), binmode => ':utf8'); | 163 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'Panel.txt'), binmode => ':utf8'); |
| 160 assert($text eq $expected, '$ctl->Render(): Bad output', "Got: $text", "Expected: $expected"); | 164 assert($text eq $expected, '$ctl->Render(): Bad output', "Got: $text", "Expected: $expected"); |
| 161 | 165 |
| 166 | |
| 167 my $doc2 = $loader->document('simple'); | |
| 168 | |
| 169 assert( $doc2->documentContext->stash->get( ['require',['My/Org/Panel'] ] ) ); | |
| 170 print Dumper($doc2->context->stash); | |
| 171 assert( $doc2->context->stash->get( ['require',['My/Org/Panel'] ] ) ); | |
| 162 | 172 |
| 163 | 173 |
| 164 }; | 174 }; |
| 165 | 175 |
| 166 test TestDocumentLayout => sub { | 176 test TestDocumentLayout => sub { |
| 195 | 205 |
| 196 my $doc = $loader->document('simple'); | 206 my $doc = $loader->document('simple'); |
| 197 | 207 |
| 198 assert(ref $loader->context->stash->get([ 'dojo', 0, 'require', 0]) eq 'ARRAY'); | 208 assert(ref $loader->context->stash->get([ 'dojo', 0, 'require', 0]) eq 'ARRAY'); |
| 199 assertarray($loader->context->stash->get([ 'dojo', 0, 'require', 0]),[]); | 209 assertarray($loader->context->stash->get([ 'dojo', 0, 'require', 0]),[]); |
| 200 assert($loader->context->stash != $doc->stash); | 210 assert($loader->context->stash != $doc->context->stash); |
| 211 assert($loader->context->stash != $doc->documentContext->stash); | |
| 212 assert($doc->context->stash != $doc->documentContext->stash); | |
| 201 | 213 |
| 202 assert(defined $doc); | 214 assert(defined $doc); |
| 203 | 215 |
| 204 # only root stash variables can be localized, to avoid modifying dojo we | 216 # only root stash variables can be localized, to avoid modifying dojo we |
| 205 # need to replace it completely | 217 # need to replace it completely |
