Changeset 1270

Show
Ignore:
Timestamp:
01/20/08 19:18:30 (10 months ago)
Author:
mikey
Message:

continued refactoring #118: converted tests for net::stubbles::websites::memphis

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/test/php/net/stubbles/websites/memphis/stubMemphisProcessorTestCase.php

    r1262 r1270  
    88 */ 
    99stubClassLoader::load('net::stubbles::websites::memphis::stubMemphisProcessor'); 
     10require_once dirname(__FILE__) . '/stubDummyWebsiteCache.php'; 
    1011class TeststubMemphisConfig extends stubMemphisConfig 
    1112{ 
     
    3132class TeststubMemphisProcessor extends stubMemphisProcessor 
    3233{ 
     34    /** 
     35     * switch whether we are in ssl mode or not 
     36     * 
     37     * @var  bool 
     38     */ 
     39    protected $sslOverwrite = null; 
     40 
     41    /** 
     42     * overwrite parent ssl setting 
     43     * 
     44     * @param  bool  $ssl 
     45     */ 
     46    public function setSSL($sslOverwrite) 
     47    { 
     48        $this->sslOverwrite = $sslOverwrite; 
     49    } 
     50 
     51    /** 
     52     * checks whether the request is ssl or not 
     53     * 
     54     * @return  bool 
     55     */ 
     56    public function isSSL() 
     57    { 
     58        if (null !== $this->sslOverwrite) { 
     59            return $this->sslOverwrite; 
     60        } 
     61         
     62        return parent::isSSL(); 
     63    } 
     64 
    3365    /** 
    3466     * sets the page factory to be used 
     
    253285    /** 
    254286     * test the processing algorithm without using a cache 
    255      */ 
    256     public function testDoProcessWithoutCache() 
     287     * 
     288     * @test 
     289     */ 
     290    public function doProcessWithoutCache() 
    257291    { 
    258292        $memphisProcessor = $this->getMock('Test2stubMemphisProcessor', 
     
    288322    /** 
    289323     * test the processing algorithm using a cache 
    290      */ 
    291     /*public function testDoProcessWithCacheButUncached() 
     324     * 
     325     * @test 
     326     */ 
     327    public function doProcessWithCacheButUncached() 
    292328    { 
    293329        $memphisProcessor = $this->getMock('Test2stubMemphisProcessor', 
     
    311347        $mockPageElement = $this->getMock('stubPageElement'); 
    312348        $this->mockPage->expects($this->any())->method('getElements')->will($this->returnValue(array('baz' => $mockPageElement))); 
    313 // start here         
    314         $memphisProcessor->expectOnce('processCacheVars', array('*', array('baz' => $mockPageElement), 'foo', 'bar', '*')); 
    315         $memphisProcessor->setReturnValue('processCacheVars', true); 
    316         $this->mockMemphisConfig->expectOnce('getFrame', array('bar')); 
    317         $this->mockMemphisConfig->setReturnValue('getFrame', 'frame/default.tmpl'); 
    318         $this->mockMemphisTemplate->expectOnce('readTemplatesFromInput', array('frame/default.tmpl')); 
    319         $memphisProcessor->expectOnce('setTemplateVars', array('*', 'foo', 'bar')); 
    320         $memphisProcessor->expectOnce('processPageElements', array('*', array('baz' => $mockPageElement), '*')); 
    321         $mockCache = new MockstubWebsiteCache(); 
    322         $mockCache->expectOnce('retrieve', array($this->mockRequest, $this->mockSession, $this->mockResponse, 'foo')); 
    323         $mockCache->setReturnValue('retrieve', false); 
    324         $mockCache->expectOnce('store', array($this->mockRequest, $this->mockResponse, 'foo')); 
     349        $memphisProcessor->expects($this->once()) 
     350                         ->method('processCacheVars') 
     351                         ->with($this->anything(), 
     352                                $this->equalTo(array('baz' => $mockPageElement)), 
     353                                $this->equalTo('foo'), 
     354                                $this->equalTo('bar')) 
     355                         ->will($this->returnValue(true)); 
     356        $this->mockMemphisConfig->expects($this->once())->method('getFrame')->will($this->returnValue('frame/default.tmpl')); 
     357        $memphisProcessor->expects($this->once())->method('setTemplateVars'); 
     358        $memphisProcessor->expects($this->once())->method('processPageElements'); 
     359        $mockCache = $this->getMock('stubWebsiteCache'); 
     360        $mockCache->expects($this->once()) 
     361                  ->method('retrieve') 
     362                  ->with($this->equalTo($this->mockRequest), 
     363                         $this->equalTo($this->mockSession), 
     364                         $this->equalTo($this->mockResponse), 
     365                         $this->equalTo('foo')) 
     366                  ->will($this->returnValue(false)); 
     367        $mockCache->expects($this->once()) 
     368                  ->method('store') 
     369                  ->with($this->equalTo($this->mockRequest), 
     370                         $this->equalTo($this->mockResponse), 
     371                         $this->equalTo('foo')); 
    325372        $memphisProcessor->setWebsiteCache($mockCache); 
    326         $this->mockResponse->expectOnce('getData'); 
    327         $this->mockResponse->setReturnValue('getData', '$SID$SESSION_NAME$SESSION_ID'); 
    328         $this->mockSession->setReturnValue('getId', 'id'); 
    329         $this->mockSession->setReturnValue('getName', 'name'); 
    330         $this->mockResponse->expectOnce('replaceData', array('name=idnameid')); 
     373        $this->mockResponse->expects($this->once())->method('getData')->will($this->returnValue('$SID$SESSION_NAME$SESSION_ID')); 
     374        $this->mockSession->expects($this->any())->method('getId')->will($this->returnValue('id')); 
     375        $this->mockSession->expects($this->any())->method('getName')->will($this->returnValue('name')); 
     376        $this->mockResponse->expects($this->once())->method('replaceData')->with($this->equalTo('name=idnameid')); 
    331377        $memphisProcessor->callDoProcess($this->mockPage, 'foo'); 
    332     }*/ 
     378    } 
    333379 
    334380    /** 
    335381     * test the processing algorithm using a cache 
    336      */ 
    337     /*public function testDoProcessWithCacheButUncachableElement() 
    338     { 
    339         $memphisProcessor = new TestPartialMockstubMemphisProcessor($this->mockRequest, $this->mockSession, $this->mockResponse, $this->mockPageFactory); 
     382     * 
     383     * @test 
     384     */ 
     385    public function doProcessWithCacheButUncachableElement() 
     386    { 
     387        $memphisProcessor = $this->getMock('Test2stubMemphisProcessor', 
     388                                           array('createTemplate', 
     389                                                 'getPageName', 
     390                                                 'getFrameId', 
     391                                                 'processCacheVars', 
     392                                                 'setTemplateVars', 
     393                                                 'processPageElements' 
     394                                           ), 
     395                                           array($this->mockRequest, 
     396                                                 $this->mockSession, 
     397                                                 $this->mockResponse, 
     398                                                 $this->mockPageFactory 
     399                                           ) 
     400                            ); 
    340401        $memphisProcessor->setConfig($this->mockMemphisConfig); 
    341         $memphisProcessor->setReturnValue('createTemplate', $this->mockMemphisTemplate); 
    342         $memphisProcessor->setReturnValue('getPageName', 'foo'); 
    343         $memphisProcessor->setReturnValue('getFrameId', 'bar'); 
    344         $mockPageElement = new MockstubPageElement(); 
    345         $this->mockPage->setReturnValue('getElements', array('baz' => $mockPageElement)); 
    346         $memphisProcessor->expectOnce('processCacheVars', array('*', array('baz' => $mockPageElement), 'foo', 'bar', '*')); 
    347         $memphisProcessor->setReturnValue('processCacheVars', false); 
    348         $this->mockMemphisConfig->expectOnce('getFrame', array('bar')); 
    349         $this->mockMemphisConfig->setReturnValue('getFrame', 'frame/default.tmpl'); 
    350         $this->mockMemphisTemplate->expectOnce('readTemplatesFromInput', array('frame/default.tmpl')); 
    351         $memphisProcessor->expectOnce('setTemplateVars', array('*', 'foo', 'bar')); 
    352         $memphisProcessor->expectOnce('processPageElements', array('*', array('baz' => $mockPageElement), '*')); 
    353         $mockCache = new MockstubWebsiteCache(); 
    354         $mockCache->expectNever('retrieve'); 
    355         $mockCache->expectNever('store'); 
     402        $memphisProcessor->expects($this->once())->method('createTemplate')->will($this->returnValue($this->mockMemphisTemplate)); 
     403        $memphisProcessor->expects($this->any())->method('getPageName')->will($this->returnValue('foo')); 
     404        $memphisProcessor->expects($this->any())->method('getFrameId')->will($this->returnValue('bar')); 
     405        $mockPageElement = $this->getMock('stubPageElement'); 
     406        $this->mockPage->expects($this->any())->method('getElements')->will($this->returnValue(array('baz' => $mockPageElement))); 
     407        $memphisProcessor->expects($this->once()) 
     408                         ->method('processCacheVars') 
     409                         ->with($this->anything(), 
     410                                $this->equalTo(array('baz' => $mockPageElement)), 
     411                                $this->equalTo('foo'), 
     412                                $this->equalTo('bar')) 
     413                         ->will($this->returnValue(false)); 
     414        $this->mockMemphisConfig->expects($this->once())->method('getFrame')->will($this->returnValue('frame/default.tmpl')); 
     415        $memphisProcessor->expects($this->once())->method('setTemplateVars'); 
     416        $memphisProcessor->expects($this->once())->method('processPageElements'); 
     417        $mockCache = $this->getMock('stubWebsiteCache'); 
     418        $mockCache->expects($this->never())->method('retrieve'); 
     419        $mockCache->expects($this->never())->method('store'); 
    356420        $memphisProcessor->setWebsiteCache($mockCache); 
    357         $this->mockResponse->expectOnce('getData'); 
    358         $this->mockResponse->setReturnValue('getData', '$SID$SESSION_NAME$SESSION_ID'); 
    359         $this->mockSession->setReturnValue('getId', 'id'); 
    360         $this->mockSession->setReturnValue('getName', 'name'); 
    361         $this->mockResponse->expectOnce('replaceData', array('name=idnameid')); 
     421        $this->mockResponse->expects($this->once())->method('getData')->will($this->returnValue('$SID$SESSION_NAME$SESSION_ID')); 
     422        $this->mockSession->expects($this->any())->method('getId')->will($this->returnValue('id')); 
     423        $this->mockSession->expects($this->any())->method('getName')->will($this->returnValue('name')); 
     424        $this->mockResponse->expects($this->once())->method('replaceData')->with($this->equalTo('name=idnameid')); 
    362425        $memphisProcessor->callDoProcess($this->mockPage, 'foo'); 
    363     }*/ 
     426    } 
    364427 
    365428    /** 
    366429     * test the processing algorithm using a cache 
    367      */ 
    368     /*public function testDoProcessWithCacheAndCached() 
    369     { 
    370         $memphisProcessor = new TestPartialMockstubMemphisProcessor($this->mockRequest, $this->mockSession, $this->mockResponse, $this->mockPageFactory); 
     430     * 
     431     * @test 
     432     */ 
     433    public function doProcessWithCacheAndCached() 
     434    { 
     435        $memphisProcessor = $this->getMock('Test2stubMemphisProcessor', 
     436                                           array('createTemplate', 
     437                                                 'getPageName', 
     438                                                 'getFrameId', 
     439                                                 'processCacheVars', 
     440                                                 'setTemplateVars', 
     441                                                 'processPageElements' 
     442                                           ), 
     443                                           array($this->mockRequest, 
     444                                                 $this->mockSession, 
     445                                                 $this->mockResponse, 
     446                                                 $this->mockPageFactory 
     447                                           ) 
     448                            ); 
    371449        $memphisProcessor->setConfig($this->mockMemphisConfig); 
    372         $memphisProcessor->expectNever('createTemplate'); 
    373         $memphisProcessor->setReturnValue('getPageName', 'foo'); 
    374         $memphisProcessor->setReturnValue('getFrameId', 'bar'); 
    375         $mockPageElement = new MockstubPageElement(); 
    376         $this->mockPage->setReturnValue('getElements', array('baz' => $mockPageElement)); 
    377         $memphisProcessor->expectOnce('processCacheVars', array('*', array('baz' => $mockPageElement), 'foo', 'bar', '*')); 
    378         $memphisProcessor->setReturnValue('processCacheVars', true); 
    379         $this->mockMemphisConfig->expectNever('getFrame'); 
    380         $this->mockMemphisTemplate->expectNever('readTemplatesFromInput'); 
    381         $memphisProcessor->expectNever('setTemplateVars'); 
    382         $memphisProcessor->expectNever('processPageElements'); 
    383         $mockCache = new MockstubWebsiteCache(); 
    384         $mockCache->expectOnce('retrieve', array($this->mockRequest, $this->mockSession, $this->mockResponse, 'foo')); 
    385         $mockCache->setReturnValue('retrieve', true); 
    386         $mockCache->expectNever('store'); 
     450        $memphisProcessor->expects($this->never())->method('createTemplate'); 
     451        $memphisProcessor->expects($this->any())->method('getPageName')->will($this->returnValue('foo')); 
     452        $memphisProcessor->expects($this->any())->method('getFrameId')->will($this->returnValue('bar')); 
     453        $mockPageElement = $this->getMock('stubPageElement'); 
     454        $this->mockPage->expects($this->any())->method('getElements')->will($this->returnValue(array('baz' => $mockPageElement))); 
     455        $memphisProcessor->expects($this->once()) 
     456                         ->method('processCacheVars') 
     457                         ->with($this->anything(), 
     458                                $this->equalTo(array('baz' => $mockPageElement)), 
     459                                $this->equalTo('foo'), 
     460                                $this->equalTo('bar')) 
     461                         ->will($this->returnValue(true)); 
     462        $this->mockMemphisConfig->expects($this->never())->method('getFrame'); 
     463        $this->mockMemphisTemplate->expects($this->never())->method('readTemplatesFromInput'); 
     464        $memphisProcessor->expects($this->never())->method('setTemplateVars'); 
     465        $memphisProcessor->expects($this->never())->method('processPageElements'); 
     466        $mockCache = $this->getMock('stubWebsiteCache'); 
     467        $mockCache->expects($this->once()) 
     468                  ->method('retrieve') 
     469                  ->with($this->equalTo($this->mockRequest), 
     470                         $this->equalTo($this->mockSession), 
     471                         $this->equalTo($this->mockResponse), 
     472                         $this->equalTo('foo')) 
     473                  ->will($this->returnValue(true)); 
     474        $mockCache->expects($this->never())->method('store'); 
    387475        $memphisProcessor->setWebsiteCache($mockCache); 
    388         $this->mockResponse->expectNever('getData'); 
    389         $this->mockResponse->expectNever('replaceData'); 
     476        $this->mockResponse->expects($this->never())->method('getData'); 
     477        $this->mockResponse->expects($this->never())->method('replaceData'); 
    390478        $memphisProcessor->callDoProcess($this->mockPage, 'foo'); 
    391     }*/ 
     479    } 
    392480 
    393481    /** 
    394482     * test that collecting the cache variables works as expected 
    395      */ 
    396     /*public function testProcessCacheVars() 
     483     * 
     484     * @test 
     485     */ 
     486    public function processCacheVars() 
    397487    { 
    398488        $prefixRequest = new stubRequestPrefixDecorator($this->mockRequest, ''); 
    399         $this->mockMemphisConfig->setReturnValue('getParts', array('content', 'teaser')); 
    400         $mockDefaultPageElement1 = new MockstubPageElement(); 
    401         $mockDefaultPageElement1->setReturnValue('getName', 'defaultMock1'); 
    402         $mockDefaultPageElement1->expectCallCount('init', 2); 
    403         $mockDefaultPageElement1->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    404         $mockDefaultPageElement1->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    405         $mockDefaultPageElement1->setReturnValue('isAvailable', false); 
    406         $mockDefaultPageElement1->expectNever('isCachable'); 
    407         $mockDefaultPageElement1->expectNever('getCacheVars'); 
    408         $mockDefaultPageElement1->expectNever('getUsedFiles'); 
    409         $mockDefaultPageElement2 = new MockstubPageElement(); 
    410         $mockDefaultPageElement2->setReturnValue('getName', 'defaultMock2'); 
    411         $mockDefaultPageElement2->expectCallCount('init', 2); 
    412         $mockDefaultPageElement2->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    413         $mockDefaultPageElement2->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    414         $mockDefaultPageElement2->setReturnValue('isAvailable', true); 
    415         $mockDefaultPageElement2->setReturnValue('isCachable', true); 
    416         $mockDefaultPageElement2->expectCallCount('getCacheVars', 2); 
    417         $mockDefaultPageElement2->setReturnValue('getCacheVars', array('one' => 'defaultMock2')); 
    418         $mockDefaultPageElement2->expectCallCount('getUsedFiles', 2); 
    419         $mockDefaultPageElement2->setReturnValue('getUsedFiles', array('defaultMock2.tmpl')); 
    420         $this->mockMemphisConfig->setReturnValue('getDefaultElements', array($mockDefaultPageElement1, $mockDefaultPageElement2)); 
    421         $mockPageElement1 = new MockstubPageElement(); 
    422         $mockPageElement1->setReturnValue('getName', 'Mock1'); 
    423         $mockPageElement1->expectCallCount('init', 2); 
    424         $mockPageElement1->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    425         $mockPageElement1->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    426         $mockPageElement1->setReturnValue('isAvailable', false); 
    427         $mockPageElement1->expectNever('isCachable'); 
    428         $mockPageElement1->expectNever('getCacheVars'); 
    429         $mockPageElement1->expectNever('getUsedFiles'); 
    430         $mockPageElement2 = new MockstubPageElement(); 
    431         $mockPageElement2->setReturnValue('getName', 'Mock2'); 
    432         $mockPageElement2->expectCallCount('init', 2); 
    433         $mockPageElement2->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    434         $mockPageElement2->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    435         $mockPageElement2->setReturnValue('isAvailable', true); 
    436         $mockPageElement2->setReturnValue('isCachable', true); 
    437         $mockPageElement2->expectCallCount('getCacheVars', 2); 
    438         $mockPageElement2->setReturnValue('getCacheVars', array('two' => 'Mock2')); 
    439         $mockPageElement2->expectCallCount('getUsedFiles', 2); 
    440         $mockPageElement2->setReturnValue('getUsedFiles', array('Mock2.tmpl')); 
    441         $mockCache = new MockstubWebsiteCache(); 
    442         $mockCache->expectAt(0, 'addCacheVar', array('page', 'foo')); 
    443         $mockCache->expectAt(1, 'addCacheVar', array('frame', 'bar')); 
    444         $mockCache->expectAt(2, 'addCacheVar', array('variant', null)); 
    445         $mockCache->expectAt(3, 'addCacheVar', array('ssl', 'no')); 
    446         $mockCache->expectAt(0, 'addCacheVars', array(array('one' => 'defaultMock2'))); 
    447         $mockCache->expectAt(1, 'addCacheVars', array(array('two' => 'Mock2'))); 
    448         $mockCache->expectAt(2, 'addCacheVars', array(array('one' => 'defaultMock2'))); 
    449         $mockCache->expectAt(3, 'addCacheVars', array(array('two' => 'Mock2'))); 
    450         $mockCache->expectCallcount('addCacheVar', 4); 
    451         $mockCache->expectCallcount('addCacheVars', 4); 
    452         $mockCache->expectAt(0, 'addUsedFiles', array(array('defaultMock2.tmpl'))); 
    453         $mockCache->expectAt(1, 'addUsedFiles', array(array('Mock2.tmpl'))); 
    454         $mockCache->expectAt(2, 'addUsedFiles', array(array('defaultMock2.tmpl'))); 
    455         $mockCache->expectAt(3, 'addUsedFiles', array(array('Mock2.tmpl'))); 
    456         $mockCache->expectCallcount('addUsedFiles', 4); 
     489        $this->mockMemphisConfig->expects($this->any())->method('getParts')->will($this->returnValue(array('content', 'teaser'))); 
     490        $mockDefaultPageElement1 = $this->getMock('stubPageElement'); 
     491        $mockDefaultPageElement1->expects($this->any())->method('getName')->will($this->returnValue('defaultMock1')); 
     492        $mockDefaultPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     493        $mockDefaultPageElement1->expects($this->never())->method('isCachable'); 
     494        $mockDefaultPageElement1->expects($this->never())->method('getCacheVars'); 
     495        $mockDefaultPageElement1->expects($this->never())->method('getUsedFiles'); 
     496        $mockDefaultPageElement2 = $this->getMock('stubPageElement'); 
     497        $mockDefaultPageElement2->expects($this->any())->method('getName')->will($this->returnValue('defaultMock2')); 
     498        $mockDefaultPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     499        $mockDefaultPageElement2->expects($this->any())->method('isCachable')->will($this->returnValue(true)); 
     500        $mockDefaultPageElement2->expects($this->exactly(2))->method('getCacheVars')->will($this->returnValue(array('one' => 'defaultMock2'))); 
     501        $mockDefaultPageElement2->expects($this->exactly(2))->method('getUsedFiles')->will($this->returnValue(array('defaultMock2.tmpl'))); 
     502        $this->mockMemphisConfig->expects($this->any())->method('getDefaultElements')->will($this->returnValue(array($mockDefaultPageElement1, $mockDefaultPageElement2))); 
     503        $mockPageElement1 = $this->getMock('stubPageElement'); 
     504        $mockPageElement1->expects($this->any())->method('getName')->will($this->returnValue('Mock1')); 
     505        $mockPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     506        $mockPageElement1->expects($this->never())->method('isCachable'); 
     507        $mockPageElement1->expects($this->never())->method('getCacheVars'); 
     508        $mockPageElement1->expects($this->never())->method('getUsedFiles'); 
     509        $mockPageElement2 = $this->getMock('stubPageElement'); 
     510        $mockPageElement2->expects($this->any())->method('getName')->will($this->returnValue('Mock2')); 
     511        $mockPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     512        $mockPageElement2->expects($this->any())->method('isCachable')->will($this->returnValue(true)); 
     513        $mockPageElement2->expects($this->exactly(2))->method('getCacheVars')->will($this->returnValue(array('two' => 'Mock2'))); 
     514        $mockPageElement2->expects($this->exactly(2))->method('getUsedFiles')->will($this->returnValue(array('Mock2.tmpl'))); 
     515        $mockCache = new stubDummyWebsiteCache(); 
    457516        $this->memphisProcessor->setWebsiteCache($mockCache); 
    458517        $this->assertTrue($this->memphisProcessor->callProcessCacheVars($prefixRequest, array('mock1' => $mockPageElement1, 'mock2' => $mockPageElement2), 'foo', 'bar', array())); 
    459     }*/ 
     518        $this->assertEquals(array('page'    => 'foo', 
     519                                  'frame'   => 'bar', 
     520                                  'variant' => null, 
     521                                  'ssl'     => 'no', 
     522                                  'one'     => 'defaultMock2', 
     523                                  'two'     => 'Mock2' 
     524                            ), 
     525                            $mockCache->getCacheVars() 
     526        ); 
     527        $this->assertEquals(array('defaultMock2.tmpl' => 'defaultMock2.tmpl', 
     528                                  'Mock2.tmpl'        => 'Mock2.tmpl' 
     529                            ), 
     530                            $mockCache->getUsedFiles() 
     531        ); 
     532    } 
    460533 
    461534    /** 
    462535     * test that collecting the cache variables works as expected 
    463      */ 
    464     /*public function testProcessCacheVarsWithUncachableElement() 
     536     * 
     537     * @test 
     538     */ 
     539    public function processCacheVarsWithUncachableElement() 
    465540    { 
    466541        $prefixRequest = new stubRequestPrefixDecorator($this->mockRequest, ''); 
    467         $this->mockMemphisConfig->setReturnValue('getParts', array('content', 'teaser')); 
    468         $mockDefaultPageElement1 = new MockstubPageElement(); 
    469         $mockDefaultPageElement1->setReturnValue('getName', 'defaultMock1'); 
    470         $mockDefaultPageElement1->expectOnce('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    471         $mockDefaultPageElement1->setReturnValue('isAvailable', false); 
    472         $mockDefaultPageElement1->expectNever('isCachable'); 
    473         $mockDefaultPageElement1->expectNever('getCacheVars'); 
    474         $mockDefaultPageElement1->expectNever('getUsedFiles'); 
    475         $mockDefaultPageElement2 = new MockstubPageElement(); 
    476         $mockDefaultPageElement2->setReturnValue('getName', 'defaultMock2'); 
    477         $mockDefaultPageElement2->expectOnce('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    478         $mockDefaultPageElement2->setReturnValue('isAvailable', true); 
    479         $mockDefaultPageElement2->setReturnValue('isCachable', true); 
    480         $mockDefaultPageElement2->expectOnce('getCacheVars'); 
    481         $mockDefaultPageElement2->setReturnValue('getCacheVars', array('one' => 'defaultMock2')); 
    482         $mockDefaultPageElement2->expectOnce('getUsedFiles'); 
    483         $mockDefaultPageElement2->setReturnValue('getUsedFiles', array('defaultMock2.tmpl')); 
    484         $this->mockMemphisConfig->setReturnValue('getDefaultElements', array($mockDefaultPageElement1, $mockDefaultPageElement2)); 
    485         $mockPageElement1 = new MockstubPageElement(); 
    486         $mockPageElement1->setReturnValue('getName', 'Mock1'); 
    487         $mockPageElement1->expectOnce('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    488         $mockPageElement1->setReturnValue('isAvailable', false); 
    489         $mockPageElement1->expectNever('isCachable'); 
    490         $mockPageElement1->expectNever('getCacheVars'); 
    491         $mockPageElement1->expectNever('getUsedFiles'); 
    492         $mockPageElement2 = new MockstubPageElement(); 
    493         $mockPageElement2->setReturnValue('getName', 'Mock2'); 
    494         $mockPageElement2->expectOnce('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    495         $mockPageElement2->setReturnValue('isAvailable', true); 
    496         $mockPageElement2->setReturnValue('isCachable', false); 
    497         $mockPageElement2->expectNever('getCacheVars'); 
    498         $mockPageElement2->expectNever('getUsedFiles'); 
    499         $mockCache = new MockstubWebsiteCache(); 
    500         $mockCache->expectAt(0, 'addCacheVar', array('page', 'foo')); 
    501         $mockCache->expectAt(1, 'addCacheVar', array('frame', 'bar')); 
    502         $mockCache->expectAt(2, 'addCacheVar', array('variant', null)); 
    503         $mockCache->expectAt(3, 'addCacheVar', array('ssl', 'no')); 
    504         $mockCache->expectOnce('addCacheVars', array(array('one' => 'defaultMock2'))); 
    505         $mockCache->expectCallcount('addCacheVar', 4); 
    506         $mockCache->expectOnce('addUsedFiles', array(array('defaultMock2.tmpl'))); 
     542        $this->mockMemphisConfig->expects($this->any())->method('getParts')->will($this->returnValue(array('content', 'teaser'))); 
     543        $mockDefaultPageElement1 = $this->getMock('stubPageElement'); 
     544        $mockDefaultPageElement1->expects($this->any())->method('getName')->will($this->returnValue('defaultMock1')); 
     545        $mockDefaultPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     546        $mockDefaultPageElement1->expects($this->never())->method('isCachable'); 
     547        $mockDefaultPageElement1->expects($this->never())->method('getCacheVars'); 
     548        $mockDefaultPageElement1->expects($this->never())->method('getUsedFiles'); 
     549        $mockDefaultPageElement2 = $this->getMock('stubPageElement'); 
     550        $mockDefaultPageElement2->expects($this->any())->method('getName')->will($this->returnValue('defaultMock2')); 
     551        $mockDefaultPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     552        $mockDefaultPageElement2->expects($this->any())->method('isCachable')->will($this->returnValue(true)); 
     553        $mockDefaultPageElement2->expects($this->once())->method('getCacheVars')->will($this->returnValue(array('one' => 'defaultMock2'))); 
     554        $mockDefaultPageElement2->expects($this->once())->method('getUsedFiles')->will($this->returnValue(array('defaultMock2.tmpl'))); 
     555        $this->mockMemphisConfig->expects($this->any())->method('getDefaultElements')->will($this->returnValue(array($mockDefaultPageElement1, $mockDefaultPageElement2))); 
     556        $mockPageElement1 = $this->getMock('stubPageElement'); 
     557        $mockPageElement1->expects($this->any())->method('getName')->will($this->returnValue('Mock1')); 
     558        $mockPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     559        $mockPageElement1->expects($this->never())->method('isCachable'); 
     560        $mockPageElement1->expects($this->never())->method('getCacheVars'); 
     561        $mockPageElement1->expects($this->never())->method('getUsedFiles'); 
     562        $mockPageElement2 = $this->getMock('stubPageElement'); 
     563        $mockPageElement2->expects($this->any())->method('getName')->will($this->returnValue('Mock2')); 
     564        $mockPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     565        $mockPageElement2->expects($this->any())->method('isCachable')->will($this->returnValue(false)); 
     566        $mockPageElement2->expects($this->never())->method('getCacheVars'); 
     567        $mockPageElement2->expects($this->never())->method('getUsedFiles'); 
     568        $mockCache = new stubDummyWebsiteCache(); 
    507569        $this->memphisProcessor->setWebsiteCache($mockCache); 
    508570        $this->assertFalse($this->memphisProcessor->callProcessCacheVars($prefixRequest, array('mock1' => $mockPageElement1, 'mock2' => $mockPageElement2), 'foo', 'bar', array())); 
    509     }*/ 
     571        $this->assertEquals(array('page'    => 'foo', 
     572                                  'frame'   => 'bar', 
     573                                  'variant' => null, 
     574                                  'ssl'     => 'no', 
     575                                  'one'     => 'defaultMock2' 
     576                            ), 
     577                            $mockCache->getCacheVars() 
     578        ); 
     579        $this->assertEquals(array('defaultMock2.tmpl' => 'defaultMock2.tmpl'), 
     580                            $mockCache->getUsedFiles() 
     581        ); 
     582    } 
    510583 
    511584    /** 
    512585     * test that collecting the cache variables works as expected 
    513      */ 
    514     /*public function testProcessCacheVarsWithUncachableDefaultElement() 
     586     * 
     587     * @test 
     588     */ 
     589    public function processCacheVarsWithUncachableDefaultElement() 
    515590    { 
    516591        $prefixRequest = new stubRequestPrefixDecorator($this->mockRequest, ''); 
    517         $this->mockMemphisConfig->setReturnValue('getParts', array('content', 'teaser')); 
    518         $mockDefaultPageElement1 = new MockstubPageElement(); 
    519         $mockDefaultPageElement1->setReturnValue('getName', 'defaultMock1'); 
    520         $mockDefaultPageElement1->expectOnce('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    521         $mockDefaultPageElement1->setReturnValue('isAvailable', false); 
    522         $mockDefaultPageElement1->expectNever('isCachable'); 
    523         $mockDefaultPageElement1->expectNever('getCacheVars'); 
    524         $mockDefaultPageElement1->expectNever('getUsedFiles'); 
    525         $mockDefaultPageElement2 = new MockstubPageElement(); 
    526         $mockDefaultPageElement2->setReturnValue('getName', 'defaultMock2'); 
    527         $mockDefaultPageElement2->expectOnce('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    528         $mockDefaultPageElement2->setReturnValue('isAvailable', true); 
    529         $mockDefaultPageElement2->setReturnValue('isCachable', false); 
    530         $mockDefaultPageElement2->expectNever('getCacheVars'); 
    531         $mockDefaultPageElement2->expectNever('getUsedFiles'); 
    532         $this->mockMemphisConfig->setReturnValue('getDefaultElements', array($mockDefaultPageElement1, $mockDefaultPageElement2)); 
    533         $mockPageElement1 = new MockstubPageElement(); 
    534         $mockPageElement1->setReturnValue('getName', 'Mock1'); 
    535         $mockPageElement1->expectNever('init'); 
    536         $mockPageElement1->expectNever('isAvailable'); 
    537         $mockPageElement1->expectNever('isCachable'); 
    538         $mockPageElement1->expectNever('getCacheVars'); 
    539         $mockPageElement1->expectNever('getUsedFiles'); 
    540         $mockPageElement2 = new MockstubPageElement(); 
    541         $mockPageElement2->setReturnValue('getName', 'Mock2'); 
    542         $mockPageElement2->expectNever('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    543         $mockPageElement2->expectNever('isAvailable'); 
    544         $mockPageElement2->expectNever('isCachable'); 
    545         $mockPageElement2->expectNever('getCacheVars'); 
    546         $mockPageElement2->expectNever('getUsedFiles'); 
    547         $mockCache = new MockstubWebsiteCache(); 
    548         $mockCache->expectAt(0, 'addCacheVar', array('page', 'foo')); 
    549         $mockCache->expectAt(1, 'addCacheVar', array('frame', 'bar')); 
    550         $mockCache->expectAt(2, 'addCacheVar', array('variant', null)); 
    551         $mockCache->expectAt(3, 'addCacheVar', array('ssl', 'no')); 
    552         $mockCache->expectNever('addCacheVars'); 
    553         $mockCache->expectNever('addUsedFiles'); 
     592        $this->mockMemphisConfig->expects($this->any())->method('getParts')->will($this->returnValue(array('content', 'teaser'))); 
     593        $mockDefaultPageElement1 = $this->getMock('stubPageElement'); 
     594        $mockDefaultPageElement1->expects($this->any())->method('getName')->will($this->returnValue('defaultMock1')); 
     595        $mockDefaultPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     596        $mockDefaultPageElement1->expects($this->never())->method('isCachable'); 
     597        $mockDefaultPageElement1->expects($this->never())->method('getCacheVars'); 
     598        $mockDefaultPageElement1->expects($this->never())->method('getUsedFiles'); 
     599        $mockDefaultPageElement2 = $this->getMock('stubPageElement'); 
     600        $mockDefaultPageElement2->expects($this->any())->method('getName')->will($this->returnValue('defaultMock2')); 
     601        $mockDefaultPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     602        $mockDefaultPageElement2->expects($this->any())->method('isCachable')->will($this->returnValue(false)); 
     603        $mockDefaultPageElement2->expects($this->never())->method('getCacheVars'); 
     604        $mockDefaultPageElement2->expects($this->never())->method('getUsedFiles'); 
     605        $this->mockMemphisConfig->expects($this->any())->method('getDefaultElements')->will($this->returnValue(array($mockDefaultPageElement1, $mockDefaultPageElement2))); 
     606        $mockPageElement1 = $this->getMock('stubPageElement'); 
     607        $mockPageElement1->expects($this->any())->method('getName')->will($this->returnValue('Mock1')); 
     608        $mockPageElement1->expects($this->never())->method('init'); 
     609        $mockPageElement1->expects($this->never())->method('isAvailable'); 
     610        $mockPageElement1->expects($this->never())->method('isCachable'); 
     611        $mockPageElement1->expects($this->never())->method('getCacheVars'); 
     612        $mockPageElement1->expects($this->never())->method('getUsedFiles'); 
     613        $mockPageElement2 = $this->getMock('stubPageElement'); 
     614        $mockPageElement2->expects($this->any())->method('getName')->will($this->returnValue('Mock2')); 
     615        $mockPageElement2->expects($this->never())->method('init'); 
     616        $mockPageElement2->expects($this->never())->method('isAvailable'); 
     617        $mockPageElement2->expects($this->never())->method('isCachable'); 
     618        $mockPageElement2->expects($this->never())->method('getCacheVars'); 
     619        $mockPageElement2->expects($this->never())->method('getUsedFiles'); 
     620        $mockCache = new stubDummyWebsiteCache(); 
     621        $this->memphisProcessor->setSSL(true); 
    554622        $this->memphisProcessor->setWebsiteCache($mockCache); 
    555623        $this->assertFalse($this->memphisProcessor->callProcessCacheVars($prefixRequest, array('mock1' => $mockPageElement1, 'mock2' => $mockPageElement2), 'foo', 'bar', array())); 
    556     }*/ 
     624        $this->assertEquals(array('page'    => 'foo', 
     625                                  'frame'   => 'bar', 
     626                                  'variant' => null, 
     627                                  'ssl'     => 'yes' 
     628                            ), 
     629                            $mockCache->getCacheVars() 
     630        ); 
     631        $this->assertEquals(array(), $mockCache->getUsedFiles()); 
     632    } 
    557633 
    558634    /** 
    559635     * test that processing of page elements works as expected 
    560      */ 
    561     /*public function testProcessPageElements() 
     636     * 
     637     * @test 
     638     */ 
     639    public function processPageElements() 
    562640    { 
    563641        $prefixRequest = new stubRequestPrefixDecorator($this->mockRequest, ''); 
    564         $this->mockRequest->setReturnValue('isCancelled', false); 
    565         $this->mockMemphisConfig->setReturnValue('getParts', array('content', 'teaser')); 
    566         $mockDefaultPageElement1 = new MockstubPageElement(); 
    567         $mockDefaultPageElement1->setReturnValue('getName', 'defaultMock1'); 
    568         $mockDefaultPageElement1->expectCallCount('init', 2); 
    569         $mockDefaultPageElement1->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    570         $mockDefaultPageElement1->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    571         $mockDefaultPageElement1->setReturnValue('isAvailable', false); 
    572         $mockDefaultPageElement1->expectNever('process'); 
    573         $mockDefaultPageElement2 = new MockstubPageElement(); 
    574         $mockDefaultPageElement2->setReturnValue('getName', 'defaultMock2'); 
    575         $mockDefaultPageElement2->expectCallCount('init', 2); 
    576         $mockDefaultPageElement2->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    577         $mockDefaultPageElement2->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    578         $mockDefaultPageElement2->setReturnValue('isAvailable', true); 
    579         $mockDefaultPageElement2->expectCallCount('process', 2); 
    580         $mockDefaultPageElement2->setReturnValue('process', 'defaultMock2'); 
    581         $this->mockMemphisConfig->setReturnValue('getDefaultElements', array($mockDefaultPageElement1, $mockDefaultPageElement2)); 
    582         $mockPageElement1 = new MockstubPageElement(); 
    583         $mockPageElement1->setReturnValue('getName', 'Mock1'); 
    584         $mockPageElement1->expectCallCount('init', 2); 
    585         $mockPageElement1->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    586         $mockPageElement1->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    587         $mockPageElement1->setReturnValue('isAvailable', false); 
    588         $mockPageElement1->expectNever('process'); 
    589         $mockPageElement2 = new MockstubPageElement(); 
    590         $mockPageElement2->setReturnValue('getName', 'Mock2'); 
    591         $mockPageElement2->expectCallCount('init', 2); 
    592         $mockPageElement2->expectAt(0, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    593         $mockPageElement2->expectAt(1, 'init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'teaser'))); 
    594         $mockPageElement2->setReturnValue('isAvailable', true); 
    595         $mockPageElement2->expectCallCount('process', 2); 
    596         $mockPageElement2->setReturnValue('process', 'Mock2'); 
     642        $this->mockRequest->expects($this->any())->method('isCancelled')->will($this->returnValue(false)); 
     643        $this->mockMemphisConfig->expects($this->any())->method('getParts')->will($this->returnValue(array('content', 'teaser'))); 
     644        $mockDefaultPageElement1 = $this->getMock('stubPageElement'); 
     645        $mockDefaultPageElement1->expects($this->any())->method('getName')->will($this->returnValue('defaultMock1')); 
     646        $mockDefaultPageElement1->expects($this->exactly(2))->method('init'); 
     647        $mockDefaultPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     648        $mockDefaultPageElement1->expects($this->never())->method('process'); 
     649        $mockDefaultPageElement2 = $this->getMock('stubPageElement'); 
     650        $mockDefaultPageElement2->expects($this->any())->method('getName')->will($this->returnValue('defaultMock2')); 
     651        $mockDefaultPageElement2->expects($this->exactly(2))->method('init'); 
     652        $mockDefaultPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     653        $mockDefaultPageElement2->expects($this->exactly(2))->method('process')->will($this->returnValue('defaultMock2')); 
     654        $this->mockMemphisConfig->expects($this->any())->method('getDefaultElements')->will($this->returnValue(array($mockDefaultPageElement1, $mockDefaultPageElement2))); 
     655        $mockPageElement1 = $this->getMock('stubPageElement'); 
     656        $mockPageElement1->expects($this->any())->method('getName')->will($this->returnValue('Mock1')); 
     657        $mockPageElement1->expects($this->exactly(2))->method('init'); 
     658        $mockPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     659        $mockPageElement1->expects($this->never())->method('process'); 
     660        $mockPageElement2 = $this->getMock('stubPageElement'); 
     661        $mockPageElement2->expects($this->any())->method('getName')->will($this->returnValue('Mock2')); 
     662        $mockPageElement2->expects($this->exactly(2))->method('init'); 
     663        $mockPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     664        $mockPageElement2->expects($this->exactly(2))->method('process')->will($this->returnValue('Mock2')); 
    597665        $this->mockMemphisTemplate->expectAt(0, 'addGlobalVar', array('content', 'defaultMock2Mock2')); 
    598666        $this->mockMemphisTemplate->expectAt(1, 'addGlobalVar', array('teaser', 'defaultMock2Mock2')); 
    599         $this->mockMemphisTemplate->setReturnValue('getParsedTemplate', 'defaultMock2Mock2defaultMock2Mock2'); 
    600         $this->mockResponse->expectOnce('write', array('defaultMock2Mock2defaultMock2Mock2')); 
     667        $this->mockMemphisTemplate->expects($this->once())->method('getParsedTemplate')->will($this->returnValue('defaultMock2Mock2defaultMock2Mock2')); 
     668        $this->mockResponse->expects($this->once())->method('write')->with($this->equalTo('defaultMock2Mock2defaultMock2Mock2')); 
    601669        $this->memphisProcessor->callProcessPageElements($prefixRequest, array('mock1' => $mockPageElement1, 'mock2' => $mockPageElement2), array()); 
    602     }*/ 
     670    } 
    603671 
    604672    /** 
    605673     * test that processing of page elements works as expected 
    606      */ 
    607     /*public function testProcessPageElementsWithRequestCancelledByPageElement() 
     674     * 
     675     * @test 
     676     */ 
     677    public function processPageElementsWithRequestCancelledByPageElement() 
    608678    { 
    609679        $prefixRequest = new stubRequestPrefixDecorator($this->mockRequest, ''); 
    610680        // just two, as the first default element is not available 
    611         $this->mockRequest->setReturnValueAt(0, 'isCancelled', false); 
    612         $this->mockRequest->setReturnValueAt(1, 'isCancelled', true); 
    613         $this->mockMemphisConfig->setReturnValue('getParts', array('content', 'teaser')); 
    614         $mockDefaultPageElement1 = new MockstubPageElement(); 
    615         $mockDefaultPageElement1->setReturnValue('getName', 'defaultMock1'); 
    616         $mockDefaultPageElement1->expectOnce('init'); 
    617         $mockDefaultPageElement1->expect('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    618         $mockDefaultPageElement1->setReturnValue('isAvailable', false); 
    619         $mockDefaultPageElement1->expectNever('process'); 
    620         $mockDefaultPageElement2 = new MockstubPageElement(); 
    621         $mockDefaultPageElement2->setReturnValue('getName', 'defaultMock2'); 
    622         $mockDefaultPageElement2->expectOnce('init'); 
    623         $mockDefaultPageElement2->expect('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    624         $mockDefaultPageElement2->setReturnValue('isAvailable', true); 
    625         $mockDefaultPageElement2->expectOnce('process'); 
    626         $mockDefaultPageElement2->setReturnValue('process', 'defaultMock2'); 
    627         $this->mockMemphisConfig->setReturnValue('getDefaultElements', array($mockDefaultPageElement1, $mockDefaultPageElement2)); 
    628         $mockPageElement1 = new MockstubPageElement(); 
    629         $mockPageElement1->setReturnValue('getName', 'Mock1'); 
    630         $mockPageElement1->expectOnce('init'); 
    631         $mockPageElement1->expect('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    632         $mockPageElement1->setReturnValue('isAvailable', true); 
    633         $mockPageElement1->expectOnce('process'); 
    634         $mockPageElement2 = new MockstubPageElement(); 
    635         $mockPageElement2->setReturnValue('getName', 'Mock2'); 
    636         $mockPageElement2->expectNever('init'); 
    637         $mockPageElement2->expectNever('isAvailable'); 
    638         $mockPageElement2->expectNever('process'); 
    639         $this->mockMemphisTemplate->expectNever('addGlobalVar'); 
    640         $this->mockResponse->expectNever('write'); 
     681        $this->mockRequest->expects($this->any())->method('isCancelled')->will($this->onConsecutiveCalls(false, true)); 
     682        $this->mockMemphisConfig->expects($this->any())->method('getParts')->will($this->returnValue(array('content', 'teaser'))); 
     683        $mockDefaultPageElement1 = $this->getMock('stubPageElement'); 
     684        $mockDefaultPageElement1->expects($this->any())->method('getName')->will($this->returnValue('defaultMock1')); 
     685        $mockDefaultPageElement1->expects($this->once())->method('init'); 
     686        $mockDefaultPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(false)); 
     687        $mockDefaultPageElement1->expects($this->never())->method('process'); 
     688        $mockDefaultPageElement2 = $this->getMock('stubPageElement'); 
     689        $mockDefaultPageElement2->expects($this->any())->method('getName')->will($this->returnValue('defaultMock2')); 
     690        $mockDefaultPageElement2->expects($this->once())->method('init'); 
     691        $mockDefaultPageElement2->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     692        $mockDefaultPageElement2->expects($this->once())->method('process')->will($this->returnValue('defaultMock2')); 
     693        $this->mockMemphisConfig->expects($this->any())->method('getDefaultElements')->will($this->returnValue(array($mockDefaultPageElement1, $mockDefaultPageElement2))); 
     694        $mockPageElement1 = $this->getMock('stubPageElement'); 
     695        $mockPageElement1->expects($this->any())->method('getName')->will($this->returnValue('Mock1')); 
     696        $mockPageElement1->expects($this->once())->method('init'); 
     697        $mockPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     698        $mockPageElement1->expects($this->once())->method('process'); 
     699        $mockPageElement2 = $this->getMock('stubPageElement'); 
     700        $mockPageElement2->expects($this->any())->method('getName')->will($this->returnValue('Mock2')); 
     701        $mockPageElement2->expects($this->never())->method('init'); 
     702        $mockPageElement2->expects($this->never())->method('isAvailable'); 
     703        $mockPageElement2->expects($this->never())->method('process'); 
     704        $this->mockMemphisTemplate->expects($this->never())->method('addGlobalVar'); 
     705        $this->mockResponse->expects($this->never())->method('write'); 
    641706        $this->memphisProcessor->callProcessPageElements($prefixRequest, array('mock1' => $mockPageElement1, 'mock2' => $mockPageElement2), array()); 
    642     }*/ 
     707    } 
    643708 
    644709    /** 
    645710     * test that processing of page elements works as expected 
    646      */ 
    647     /*public function testProcessPageElementsWithRequestCancelledByDefaultPageElement() 
     711     * 
     712     * @test 
     713     */ 
     714    public function processPageElementsWithRequestCancelledByDefaultPageElement() 
    648715    { 
    649716        $prefixRequest = new stubRequestPrefixDecorator($this->mockRequest, ''); 
    650         $this->mockRequest->setReturnValue('isCancelled', true); 
    651         $this->mockMemphisConfig->setReturnValue('getParts', array('content', 'teaser')); 
    652         $mockDefaultPageElement1 = new MockstubPageElement(); 
    653         $mockDefaultPageElement1->setReturnValue('getName', 'defaultMock1'); 
    654         $mockDefaultPageElement1->expectOnce('init'); 
    655         $mockDefaultPageElement1->expect('init', array($prefixRequest, $this->mockSession, $this->mockResponse, array('part' => 'content'))); 
    656         $mockDefaultPageElement1->setReturnValue('isAvailable', true); 
    657         $mockDefaultPageElement1->expectOnce('process'); 
    658         $mockDefaultPageElement2 = new MockstubPageElement(); 
    659         $mockDefaultPageElement2->setReturnValue('getName', 'defaultMock2'); 
    660         $mockDefaultPageElement2->expectNever('init'); 
    661         $mockDefaultPageElement2->expectNever('isAvailable'); 
    662         $mockDefaultPageElement2->expectNever('process'); 
    663         $this->mockMemphisConfig->setReturnValue('getDefaultElements', array($mockDefaultPageElement1, $mockDefaultPageElement2)); 
    664         $mockPageElement1 = new MockstubPageElement(); 
    665         $mockPageElement1->setReturnValue('getName', 'Mock1'); 
    666         $mockPageElement1->expectNever('init'); 
    667         $mockPageElement1->expectNever('isAvailable'); 
    668         $mockPageElement1->expectNever('process'); 
    669         $mockPageElement2 = new MockstubPageElement(); 
    670         $mockPageElement2->setReturnValue('getName', 'Mock2'); 
    671         $mockPageElement2->expectNever('init'); 
    672         $mockPageElement2->expectNever('isAvailable'); 
    673         $mockPageElement2->expectNever('process'); 
    674         $this->mockMemphisTemplate->expectNever('addGlobalVar'); 
    675         $this->mockResponse->expectNever('write'); 
     717        $this->mockRequest->expects($this->any())->method('isCancelled')->will($this->returnValue(true)); 
     718        $this->mockMemphisConfig->expects($this->any())->method('getParts')->will($this->returnValue(array('content', 'teaser'))); 
     719        $mockDefaultPageElement1 = $this->getMock('stubPageElement'); 
     720        $mockDefaultPageElement1->expects($this->any())->method('getName')->will($this->returnValue('defaultMock1')); 
     721        $mockDefaultPageElement1->expects($this->once())->method('init'); 
     722        $mockDefaultPageElement1->expects($this->any())->method('isAvailable')->will($this->returnValue(true)); 
     723        $mockDefaultPageElement1->expects($this->once())->method('process'); 
     724        $mockDefaultPageElement2 = $this->getMock('stubPageElement'); 
     725        $mockDefaultPageElement2->expects($this->any())->method('getName')->will($this->returnValue('defaultMock2')); 
     726        $mockDefaultPageElement2->expects($this->never())->method('init'); 
     727        $mockDefaultPageElement2->expects($this->never())->method('isAvailable'); 
     728        $mockDefaultPageElement2->expects($this->never())->method('process'); 
     729        $this->mockMemphisConfig->expects($this->any())->method('getDefaultElements')->will($this->returnValue(array($mockDefaultPageElement1, $mockDefaultPageElement2))); 
     730        $mockPageElement1 = $this->getMock('stubPageElement'); 
     731        $mockPageElement1->expects($this->any())->method('getName')->will($this->returnValue('Mock1')); 
     732        $mockPageElement1->expects($this->never())->method('init'); 
     733        $mockPageElement1->expects($this->never())->method('isAvailable'); 
     734        $mockPageElement1->expects($this->never())->method('process'); 
     735        $mockPageElement2 = $this->getMock('stubPageElement'); 
     736        $mockPageElement2->expects($this->any())