Changeset 1520

Show
Ignore:
Timestamp:
04/10/08 14:07:04 (1 month ago)
Author:
mikey
Message:

added net::stubbles::websites::xml::generator::stubModeXMLGenerator

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/websites/xml/stubXMLProcessor.php

    r1518 r1520  
    3737{ 
    3838    /** 
     39     * registry key for switch whether to serialize the current mode or not 
     40     */ 
     41    const SERIALIZE_MODE_REGISTRY_KEY = 'net.stubbles.websites.xml.serializeMode'; 
     42    /** 
    3943     * list of xml generators to be used to create the dom tree 
    4044     * 
    4145     * @var  array<stubXMLGenerator> 
    4246     */ 
    43     protected $xmlGenerators = array(); 
     47    protected $xmlGenerators          = array(); 
    4448    /** 
    4549     * page to display 
     
    98102    protected function getXMLGenerators() 
    99103    { 
    100         return array('net::stubbles::websites::xml::generator::stubSessionXMLGenerator', 
    101                      'net::stubbles::websites::xml::generator::stubPageXMLGenerator', 
    102                      'net::stubbles::websites::xml::generator::stubRequestXMLGenerator' 
    103                ); 
     104        $generators = array('net::stubbles::websites::xml::generator::stubSessionXMLGenerator', 
     105                            'net::stubbles::websites::xml::generator::stubPageXMLGenerator', 
     106                            'net::stubbles::websites::xml::generator::stubRequestXMLGenerator' 
     107                      ); 
     108        if (stubRegistry::getConfig(self::SERIALIZE_MODE_REGISTRY_KEY, false) !== false) { 
     109            $generators[] = 'net::stubbles::websites::xml::generator::stubModeXMLGenerator'; 
     110        } 
     111         
     112        return $generators; 
    104113    } 
    105114 
  • trunk/src/test/php/net/stubbles/websites/WebsitesTestSuite.php

    r1508 r1520  
    6262 
    6363        // xml generator 
     64        $suite->addTestFile($dir . '/xml/generator/stubModeXMLGeneratorTestCase.php'); 
    6465        $suite->addTestFile($dir . '/xml/generator/stubPageXMLGeneratorTestCase.php'); 
    6566        $suite->addTestFile($dir . '/xml/generator/stubRequestXMLGeneratorTestCase.php'); 
  • trunk/src/test/php/net/stubbles/websites/xml/stubXMLProcessorTestCase.php

    r1518 r1520  
    1010                      'net::stubbles::websites::xml::generator::stubXMLGenerator' 
    1111); 
     12/** 
     13 * Helper class for the test. 
     14 * 
     15 * @package     stubbles 
     16 * @subpackage  websites_xml_test 
     17 */ 
     18class TeststubXMLProcessor extends stubXMLProcessor 
     19{ 
     20    /** 
     21     * public access to protected method 
     22     * 
     23     * @return  array<string> 
     24     */ 
     25    public function callGetXMLGenerators() 
     26    { 
     27        return $this->getXMLGenerators(); 
     28    } 
     29} 
    1230/** 
    1331 * Tests for net::stubbles::websites::xml::stubXMLProcessor. 
     
    239257        $this->xmlProcessor->process(); 
    240258    } 
     259 
     260    /** 
     261     * xml generators by default are without mode generator 
     262     * 
     263     * @test 
     264     */ 
     265    public function xmlGeneratorsByDefault() 
     266    { 
     267        stubRegistry::removeConfig(stubXMLProcessor::SERIALIZE_MODE_REGISTRY_KEY); 
     268        $xmlProcessor = new TeststubXMLProcessor($this->mockRequest, $this->mockSession, $this->mockResponse); 
     269        $this->assertEquals(array('net::stubbles::websites::xml::generator::stubSessionXMLGenerator', 
     270                                  'net::stubbles::websites::xml::generator::stubPageXMLGenerator', 
     271                                  'net::stubbles::websites::xml::generator::stubRequestXMLGenerator' 
     272                            ), 
     273                            $xmlProcessor->callGetXMLGenerators() 
     274        ); 
     275    } 
     276 
     277    /** 
     278     * xml generators are with mode generator if enabled 
     279     * 
     280     * @test 
     281     */ 
     282    public function xmlGeneratorsWithMode() 
     283    { 
     284        stubRegistry::setConfig(stubXMLProcessor::SERIALIZE_MODE_REGISTRY_KEY, true); 
     285        $xmlProcessor = new TeststubXMLProcessor($this->mockRequest, $this->mockSession, $this->mockResponse); 
     286        $this->assertEquals(array('net::stubbles::websites::xml::generator::stubSessionXMLGenerator', 
     287                                  'net::stubbles::websites::xml::generator::stubPageXMLGenerator', 
     288                                  'net::stubbles::websites::xml::generator::stubRequestXMLGenerator', 
     289                                  'net::stubbles::websites::xml::generator::stubModeXMLGenerator' 
     290                            ), 
     291                            $xmlProcessor->callGetXMLGenerators() 
     292        ); 
     293    } 
    241294} 
    242295?>