Cover RSSExpander

This commit is contained in:
logmanoriginal 2016-08-06 15:20:57 +02:00
parent ed0ec0e70d
commit 57e4d003af

View File

@ -25,8 +25,6 @@ class BridgeImplementationTest extends PHPUnit_Framework_TestCase {
// Checks if the bridge implements additional public functions (should not be!) // Checks if the bridge implements additional public functions (should not be!)
private function CheckBridgePublicFunctions($bridgeName){ private function CheckBridgePublicFunctions($bridgeName){
require_once('bridges/' . $bridgeName . '.php');
$parent_methods = array(); $parent_methods = array();
if(in_array('BridgeInterface', class_parents($bridgeName))) if(in_array('BridgeInterface', class_parents($bridgeName)))
@ -38,6 +36,9 @@ class BridgeImplementationTest extends PHPUnit_Framework_TestCase {
if(in_array('HttpCachingBridgeAbstract', class_parents($bridgeName))) if(in_array('HttpCachingBridgeAbstract', class_parents($bridgeName)))
$parent_methods = array_merge($parent_methods, get_class_methods('HttpCachingBridgeAbstract')); $parent_methods = array_merge($parent_methods, get_class_methods('HttpCachingBridgeAbstract'));
if(in_array('RssExpander', class_parents($bridgeName)))
$parent_methods = array_merge($parent_methods, get_class_methods('RssExpander'));
// Receive all non abstract methods // Receive all non abstract methods
$methods = array_diff(get_class_methods($bridgeName), $parent_methods); $methods = array_diff(get_class_methods($bridgeName), $parent_methods);
@ -49,12 +50,22 @@ class BridgeImplementationTest extends PHPUnit_Framework_TestCase {
$method_names .= ', ' . $method; $method_names .= ', ' . $method;
} }
// There should generally be no additional (public) function $parent_names = '';
$this->assertEmpty($methods, $bridgeName . " defines additional public functions!\n" . $method_names); foreach(class_parents($bridgeName) as $parent){
if($parent_names === '')
$parent_names .= $parent;
else
$parent_names .= ', ' . $parent;
} }
public function testBridgeImplementation($bridge){ // There should generally be no additional (public) function
$this->CheckBridgePublicFunctions($bridge); $this->assertEmpty($methods, $bridgeName . ' extends (' . $parent_names . ') and defines additional public functions : ' . $method_names . '!');
}
public function testBridgeImplementation($bridgeName){
require_once('bridges/' . $bridgeName . '.php');
$this->CheckBridgePublicFunctions($bridgeName);
} }
public function count() public function count()