We will be off from 27/1 (Monday) to 31/1 (Friday) (GMT +7) for our Tet Holiday (Lunar New Year) in our country

Commit 504c2848 authored by Jim O'Halloran's avatar Jim O'Halloran

Allow modules to be disabled from local.xml.phpunit

Uses the following XML structure:

    <phpunit>
        <disable_modules>
            <Mynamespace_Mymodule/>
        </disable_modules>
    </phpunit>
parent 8111e7ca
......@@ -56,6 +56,13 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
*/
protected $_cacheSections = array();
/**
* Object containing parsed local.xml.phpunit
*
* @var null
*/
protected $_localXmlForTest = null;
/**
* Load config data from DB
*
......@@ -215,6 +222,22 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
return $this;
}
protected function _isAllowedModule($moduleName)
{
if (!parent::_isAllowedModule($moduleName)) {
return false;
}
$localXml = $this->_loadLocalXmlForTest();
if ($localXml) {
$node = $localXml->getNode("phpunit/disable_modules/$moduleName");
return $node === false;
}
return true;
}
/**
* (non-PHPdoc)
* @see Mage_Core_Model_Config::loadModules()
......@@ -235,10 +258,8 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
*/
protected function _loadTestConfig()
{
$merge = clone $this->_prototype;
try {
if ($merge->loadFile($this->_getLocalXmlForTest())) {
if ($merge = $this->_loadLocalXmlForTest()) {
$this->_checkDbCredentialForDuplicate($this, $merge);
$this->_checkBaseUrl($this, $merge);
$this->extend($merge);
......@@ -253,6 +274,20 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
return $this;
}
/**
* Parse the phpunit specific local configuration. THis may be loaded by
* and used by _isAllowedModule before it's merged into the merged config.
*
* @return Mage_Core_Model_Config_Base|null
*/
protected function _loadLocalXmlForTest() {
if ($this->_localXmlForTest === null) {
$this->_localXmlForTest = clone $this->_prototype;
$this->_localXmlForTest->loadFile($this->_getLocalXmlForTest());
}
return $this->_localXmlForTest;
}
/**
* Loads cache configuration for PHPUnit tests scope
*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment