Changeset 1433 for trunk/src/test/php/net/stubbles/websites/xml/generator/stubPageXMLGeneratorTestCase.php
- Timestamp:
- 03/18/08 14:59:53 (2 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/test/php/net/stubbles/websites/xml/generator/stubPageXMLGeneratorTestCase.php
r1427 r1433 75 75 $this->page = new stubPage(); 76 76 $this->mockInjector = $this->getMock('stubInjector'); 77 $this->pageXMLGenerator = new stubPageXMLGenerator($this->mockRequest, $this->mockSession, $this->mockResponse, $this->page, $this->mockInjector); 77 $this->pageXMLGenerator = new stubPageXMLGenerator($this->mockRequest, $this->mockSession, $this->mockResponse, $this->mockInjector); 78 $this->pageXMLGenerator->setPage($this->page); 78 79 $this->mockXMLStreamWriter = $this->getMock('stubXMLStreamWriter'); 79 80 $this->mockXMLSerializer = $this->getMock('stubXMLSerializer'); … … 102 103 $this->mockXMLStreamWriter->expects($this->once())->method('writeStartElement'); 103 104 $this->mockXMLStreamWriter->expects($this->once())->method('writeEndElement'); 105 $this->assertTrue($this->pageXMLGenerator->isCachable()); 106 $this->assertEquals(array(), $this->pageXMLGenerator->getCacheVars()); 107 $this->assertEquals(array(), $this->pageXMLGenerator->getUsedFiles()); 104 108 $this->pageXMLGenerator->generate($this->mockXMLStreamWriter, $this->mockXMLSerializer); 105 109 } … … 116 120 $pageElement1 = $this->getMock('stubPageElement'); 117 121 $pageElement1->expects($this->any())->method('getName')->will($this->returnValue('foo')); 122 $pageElement1->expects($this->once())->method('isAvailable')->will($this->returnValue(true)); 123 $pageElement1->expects($this->once())->method('isCachable')->will($this->returnValue(true)); 124 $pageElement1->expects($this->once())->method('getCacheVars')->will($this->returnValue(array())); 125 $pageElement1->expects($this->once())->method('getUsedFiles')->will($this->returnValue(array())); 118 126 $pageElement1->expects($this->once())->method('process')->will($this->returnValue('foo')); 119 $pageElement1->expects($this->once())->method('isAvailable')->will($this->returnValue(true));120 127 $pageElement2 = $this->getMock('stubPageElement'); 121 128 $pageElement2->expects($this->any())->method('getName')->will($this->returnValue('bar')); 129 $pageElement2->expects($this->once())->method('isAvailable')->will($this->returnValue(false)); 130 $pageElement2->expects($this->never())->method('isCachable'); 131 $pageElement2->expects($this->never())->method('getCacheVars'); 132 $pageElement2->expects($this->never())->method('getUsedFiles'); 122 133 $pageElement2->expects($this->never())->method('process'); 123 $pageElement2->expects($this->once())->method('isAvailable')->will($this->returnValue(false));124 134 $pageElement3 = $this->getMock('stubXMLPageElement'); 125 135 $pageElement3->expects($this->any())->method('getName')->will($this->returnValue('baz')); 136 $pageElement3->expects($this->once())->method('isAvailable')->will($this->returnValue(true)); 137 $pageElement3->expects($this->once())->method('isCachable')->will($this->returnValue(true)); 138 $pageElement3->expects($this->once())->method('getCacheVars')->will($this->returnValue(array())); 139 $pageElement3->expects($this->once())->method('getUsedFiles')->will($this->returnValue(array())); 126 140 $pageElement3->expects($this->once())->method('process')->will($this->returnValue('baz')); 127 $pageElement3->expects($this->once())->method('isAvailable')->will($this->returnValue(true));128 141 $pageElement3->expects($this->once())->method('getFormValues')->will($this->returnValue(array('foo'))); 129 142 $this->page->addElement($pageElement1); 130 143 $this->page->addElement($pageElement2); 131 144 $this->page->addElement($pageElement3); 145 $this->pageXMLGenerator->setPage($this->page); 132 146 133 147 $this->mockXMLSerializer->expects($this->at(0)) … … 142 156 $this->mockXMLStreamWriter->expects($this->once())->method('writeStartElement'); 143 157 $this->mockXMLStreamWriter->expects($this->once())->method('writeEndElement'); 158 $this->assertTrue($this->pageXMLGenerator->isCachable()); 159 $this->assertEquals(array(), $this->pageXMLGenerator->getCacheVars()); 160 $this->assertEquals(array(), $this->pageXMLGenerator->getUsedFiles()); 144 161 $this->pageXMLGenerator->generate($this->mockXMLStreamWriter, $this->mockXMLSerializer); 145 162 } … … 153 170 { 154 171 $this->mockRequest->expects($this->once())->method('isCancelled')->will($this->returnValue(true)); 155 $this->mockInjector->expects($this-> once())->method('handleInjections');172 $this->mockInjector->expects($this->exactly(2))->method('handleInjections'); 156 173 $pageElement1 = $this->getMock('stubPageElement'); 157 174 $pageElement1->expects($this->any())->method('getName')->will($this->returnValue('foo')); 175 $pageElement1->expects($this->once())->method('isAvailable')->will($this->returnValue(true)); 176 $pageElement1->expects($this->once())->method('isCachable')->will($this->returnValue(true)); 177 $pageElement1->expects($this->once())->method('getCacheVars')->will($this->returnValue(array('foo' => 'bar'))); 178 $pageElement1->expects($this->once())->method('getUsedFiles')->will($this->returnValue(array('foo.xml'))); 158 179 $pageElement1->expects($this->once())->method('process')->will($this->returnValue('foo')); 159 $pageElement1->expects($this->once())->method('isAvailable')->will($this->returnValue(true));160 180 $pageElement2 = $this->getMock('stubPageElement'); 161 181 $pageElement2->expects($this->any())->method('getName')->will($this->returnValue('bar')); 182 $pageElement2->expects($this->once())->method('isAvailable')->will($this->returnValue(true)); 183 $pageElement2->expects($this->once())->method('isCachable')->will($this->returnValue(true)); 184 $pageElement2->expects($this->once())->method('getCacheVars')->will($this->returnValue(array('bar' => 313))); 185 $pageElement2->expects($this->once())->method('getUsedFiles')->will($this->returnValue(array())); 162 186 $pageElement2->expects($this->never())->method('process'); 163 $pageElement2->expects($this->never())->method('isAvailable');164 187 $this->page->addElement($pageElement1); 165 188 $this->page->addElement($pageElement2); 189 $this->pageXMLGenerator->setPage($this->page); 166 190 167 191 $this->mockXMLSerializer->expects($this->never())->method('serialize'); 168 192 $this->mockXMLStreamWriter->expects($this->never())->method('writeStartElement'); 169 193 $this->mockXMLStreamWriter->expects($this->never())->method('writeEndElement'); 194 $this->assertTrue($this->pageXMLGenerator->isCachable()); 195 $this->assertEquals(array('foo' => 'bar', 'bar' => 313), $this->pageXMLGenerator->getCacheVars()); 196 $this->assertEquals(array('foo.xml'), $this->pageXMLGenerator->getUsedFiles()); 197 $this->pageXMLGenerator->generate($this->mockXMLStreamWriter, $this->mockXMLSerializer); 198 } 199 200 /** 201 * page with cancelling elements: stop processing 202 * 203 * @test 204 */ 205 public function pageWithNonCachableElement() 206 { 207 $this->mockRequest->expects($this->exactly(2))->method('isCancelled')->will($this->returnValue(false)); 208 $this->mockInjector->expects($this->exactly(2))->method('handleInjections'); 209 $pageElement1 = $this->getMock('stubPageElement'); 210 $pageElement1->expects($this->any())->method('getName')->will($this->returnValue('foo')); 211 $pageElement1->expects($this->once())->method('isAvailable')->will($this->returnValue(true)); 212 $pageElement1->expects($this->once())->method('isCachable')->will($this->returnValue(false)); 213 $pageElement1->expects($this->never())->method('getCacheVars'); 214 $pageElement1->expects($this->never())->method('getUsedFiles'); 215 $pageElement1->expects($this->once())->method('process')->will($this->returnValue('foo')); 216 $pageElement2 = $this->getMock('stubPageElement'); 217 $pageElement2->expects($this->any())->method('getName')->will($this->returnValue('bar')); 218 $pageElement2->expects($this->once())->method('isAvailable')->will($this->returnValue(true)); 219 $pageElement2->expects($this->never())->method('isCachable'); 220 $pageElement1->expects($this->never())->method('getCacheVars'); 221 $pageElement1->expects($this->never())->method('getUsedFiles'); 222 $pageElement2->expects($this->once())->method('process')->will($this->returnValue('bar')); 223 $this->page->addElement($pageElement1); 224 $this->page->addElement($pageElement2); 225 $this->pageXMLGenerator->setPage($this->page); 226 227 $this->mockXMLSerializer->expects($this->at(0)) 228 ->method('serialize') 229 ->with($this->equalTo('foo'), $this->equalTo($this->mockXMLStreamWriter), $this->equalTo(array(stubXMLSerializer::OPT_ROOT_TAG => 'foo'))); 230 $this->mockXMLSerializer->expects($this->at(1)) 231 ->method('serialize') 232 ->with($this->equalTo('bar'), $this->equalTo($this->mockXMLStreamWriter), $this->equalTo(array(stubXMLSerializer::OPT_ROOT_TAG => 'bar'))); 233 $this->mockXMLStreamWriter->expects($this->once())->method('writeStartElement'); 234 $this->mockXMLStreamWriter->expects($this->once())->method('writeEndElement'); 235 $this->assertFalse($this->pageXMLGenerator->isCachable()); 236 $this->assertEquals(array(), $this->pageXMLGenerator->getCacheVars()); 237 $this->assertEquals(array(), $this->pageXMLGenerator->getUsedFiles()); 170 238 $this->pageXMLGenerator->generate($this->mockXMLStreamWriter, $this->mockXMLSerializer); 171 239 } … … 179 247 { 180 248 $this->page->setResources(array('foo' => 'stdClass')); 249 $this->pageXMLGenerator->setPage($this->page); 181 250 182 251 $this->mockRequest->expects($this->never())->method('isCancelled'); … … 192 261 $this->mockXMLStreamWriter->expects($this->once())->method('writeStartElement'); 193 262 $this->mockXMLStreamWriter->expects($this->once())->method('writeEndElement'); 194 $this->pageXMLGenerator->generate($this->mockXMLStreamWriter, $this->mockXMLSerializer); 195 263 $this->assertFalse($this->pageXMLGenerator->isCachable()); 264 $this->assertEquals(array(), $this->pageXMLGenerator->getCacheVars()); 265 $this->assertEquals(array(), $this->pageXMLGenerator->getUsedFiles()); 266 $this->pageXMLGenerator->generate($this->mockXMLStreamWriter, $this->mockXMLSerializer); 196 267 } 197 268 }
