Mercurial > pub > Impl
comparison _test/Test/Web/View.pm @ 191:78a18a2b6266
IMPL::Web::View improvements (unstable)
| author | cin |
|---|---|
| date | Thu, 05 Apr 2012 17:51:51 +0400 |
| parents | cd1ff7029a63 |
| children | 4d0e1962161c |
comparison
equal
deleted
inserted
replaced
| 190:cd1ff7029a63 | 191:78a18a2b6266 |
|---|---|
| 106 my ($this) = @_; | 106 my ($this) = @_; |
| 107 | 107 |
| 108 my $loader = $this->CreateLoader(); | 108 my $loader = $this->CreateLoader(); |
| 109 | 109 |
| 110 my $doc = $loader->document('simple'); | 110 my $doc = $loader->document('simple'); |
| 111 $doc->templateVars(data => ['one','two','hello world']); | |
| 112 | 111 |
| 113 assert(defined $doc); | 112 assert(defined $doc); |
| 114 | 113 |
| 115 my $factory = $doc->require('My/Org/Panel'); | 114 my $factory = $doc->require('My/Org/Panel'); |
| 116 | 115 |
| 119 | 118 |
| 120 assert($factory->context->stash != $doc->context->stash); | 119 assert($factory->context->stash != $doc->context->stash); |
| 121 | 120 |
| 122 assert($factory == $doc->require('My/Org/Panel'), "Control should be loaded only once"); | 121 assert($factory == $doc->require('My/Org/Panel'), "Control should be loaded only once"); |
| 123 | 122 |
| 124 my $ctl = $factory->new('information', { visualClass => 'simple' } ); | 123 my $ctl = $factory->new('information', { visualClass => 'simple', data => ['one','two','hello world'] } ); |
| 125 | 124 |
| 126 assert(defined $ctl); | 125 assert(defined $ctl); |
| 127 | 126 |
| 128 assert($ctl->nodeName eq 'information', "Created control should have a name", "Got: ".$ctl->nodeName, "Expected: information"); | 127 assert($ctl->nodeName eq 'information', "Created control should have a name", "Got: ".$ctl->nodeName, "Expected: information"); |
| 129 | 128 |
| 131 | 130 |
| 132 assert($factory->instances == 1); | 131 assert($factory->instances == 1); |
| 133 | 132 |
| 134 $doc->appendChild($ctl); | 133 $doc->appendChild($ctl); |
| 135 | 134 |
| 135 assert($doc->templateVars('dojo.require')); | |
| 136 assert(ref $doc->templateVars('dojo.require') eq 'ARRAY'); | |
| 137 assert($doc->templateVars('dojo.require')->[0] eq 'dijit.form.Input' ); | |
| 138 | |
| 139 my $text = $ctl->Render(); | |
| 140 | |
| 141 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'Panel.txt'), binmode => ':utf8'); | |
| 142 assert($text eq $expected, '$ctl->Render(): Bad output', "Got: $text", "Expected: $expected"); | |
| 136 | 143 |
| 137 | 144 |
| 138 my $text = $ctl->Render(); | |
| 139 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'Panel.txt'), binmode => ':utf8'); | |
| 140 | 145 |
| 141 assert($text eq $expected, '$ctl->Render(): Bad output', "Got: $text", "Expected: $expected"); | 146 }; |
| 147 | |
| 148 test TestDocumentLayout => sub { | |
| 149 my ($this) = @_; | |
| 142 | 150 |
| 151 my $loader = $this->CreateLoader(); | |
| 152 | |
| 153 my $doc = $loader->document('complex'); | |
| 154 assert($doc->layout eq 'Layout/default'); | |
| 155 | |
| 156 my $expected = read_file($this->GetResourceFile('Resources', 'TTView.Output', 'complex.default.txt'), binmode => ':utf8' ); | |
| 157 | |
| 158 assert($doc->templateVars('dojo.require')->[0]); | |
| 159 | |
| 160 my $text = $doc->Render({ data => [qw(one two three)] }); | |
| 161 | |
| 162 assert($text eq $expected, '$doc->Render(): Bad output', "Got: $text", "Expected: $expected"); | |
| 143 }; | 163 }; |
| 144 | 164 |
| 145 test TestMemoryLeaks => sub { | 165 test TestMemoryLeaks => sub { |
| 146 my ($this) = @_; | 166 my ($this) = @_; |
| 147 | 167 |
| 155 AssertMemoryLeak(sub { | 175 AssertMemoryLeak(sub { |
| 156 my $doc = $loader->document('simple'); | 176 my $doc = $loader->document('simple'); |
| 157 $doc->Render( { self => $doc } ); | 177 $doc->Render( { self => $doc } ); |
| 158 }); | 178 }); |
| 159 | 179 |
| 180 $loader->template('Layout/default'); | |
| 160 $loader->template('My/Org/Panel'); | 181 $loader->template('My/Org/Panel'); |
| 161 $loader->template('My/Org/TextPreview'); | 182 $loader->template('My/Org/TextPreview'); |
| 162 AssertMemoryLeak(sub { | 183 AssertMemoryLeak(sub { |
| 163 my $doc = $loader->document('simple'); | 184 my $doc = $loader->document('simple'); |
| 164 my $factory = $doc->require('My/Org/Panel'); | 185 my $factory = $doc->require('My/Org/Panel'); |
