Add some unit tests

- for Footer class
- for navigation/PMA_Node_Database class
- In Util class for foreign key check

Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
This commit is contained in:
Nisarg Jhaveri 2015-06-30 00:00:24 +05:30
parent 14aeebe584
commit 5733dd09e3
4 changed files with 160 additions and 1 deletions

View File

@ -127,7 +127,9 @@ $GLOBALS['dummy_queries'] = array(
),
array(
'query' => 'SHOW SESSION VARIABLES LIKE \'FOREIGN_KEY_CHECKS\';',
'result' => array('foreign_key_checks', 'ON'),
'result' => array(
array('foreign_key_checks', 'ON')
),
),
array(
'query' => 'SHOW TABLES FROM `pma_test`;',
@ -535,6 +537,29 @@ $GLOBALS['dummy_queries'] = array(
array('Name' => 'partition')
)
),
array(
'query' => "SHOW FULL TABLES FROM `default` WHERE `Table_type`='BASE TABLE'",
'result' => array(
array("test1", "BASE TABLE"),
array("test2", "BASE TABLE"),
)
),
array(
'query' => "SHOW FULL TABLES FROM `default` WHERE `Table_type`!='BASE TABLE'",
'result' => array()
),
array(
'query' => "SHOW FUNCTION STATUS WHERE `Db`='default'",
'result' => array(array("Name" => "testFunction"))
),
array(
'query' => "SHOW PROCEDURE STATUS WHERE `Db`='default'",
'result' => array()
),
array(
'query' => "SHOW EVENTS FROM `default`",
'result' => array()
)
);
/**
* Current database.

View File

@ -132,6 +132,30 @@ class PMA_Footer_Test extends PHPUnit_Framework_TestCase
);
}
/**
* Test for _removeRecursion
*
* @return void
*/
public function testRemoveRecursion()
{
$object = (object) array();
$object->child = (object) array();
$object->child->parent = $object;
$this->_callPrivateFunction(
'_removeRecursion',
array(
&$object
)
);
$this->assertEquals(
'{"child":{"parent":"***RECURSION***"}}',
json_encode($object)
);
}
/**
* Test for _getSelfLink
*

View File

@ -172,4 +172,28 @@ class PMA_Util_Test extends PHPUnit_Framework_TestCase
);
}
public function testIsForeignKeyCheck()
{
$GLOBALS['cfg']['DBG'] = array();
$GLOBALS['cfg']['DBG']['sql'] = false;
$GLOBALS['cfg']['DefaultForeignKeyChecks'] = 'enable';
$this->assertEquals(
true,
PMA_Util::isForeignKeyCheck()
);
$GLOBALS['cfg']['DefaultForeignKeyChecks'] = 'disable';
$this->assertEquals(
false,
PMA_Util::isForeignKeyCheck()
);
$GLOBALS['cfg']['DefaultForeignKeyChecks'] = 'default';
$this->assertEquals(
true,
PMA_Util::isForeignKeyCheck()
);
}
}

View File

@ -28,6 +28,10 @@ class Node_Database_Test extends PHPUnit_Framework_TestCase
$GLOBALS['server'] = 0;
$GLOBALS['cfg']['DefaultTabDatabase'] = 'structure';
$GLOBALS['cfg']['MaxNavigationItems'] = 250;
$GLOBALS['cfg']['Server'] = array();
$GLOBALS['cfg']['Server']['DisableIS'] = true;
$GLOBALS['cfg']['DBG'] = array();
$GLOBALS['cfg']['DBG']['sql'] = false;
$_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme');
}
@ -49,5 +53,87 @@ class Node_Database_Test extends PHPUnit_Framework_TestCase
);
$this->assertContains('database', $parent->classes);
}
/**
* Test for getPresence
*
* @return void
*/
public function testGetPresence()
{
$parent = PMA_NodeFactory::getInstance('Node_Database');
$this->assertEquals(
2,
$parent->getPresence('tables')
);
$this->assertEquals(
0,
$parent->getPresence('views')
);
$this->assertEquals(
1,
$parent->getPresence('functions')
);
$this->assertEquals(
0,
$parent->getPresence('procedures')
);
$this->assertEquals(
0,
$parent->getPresence('events')
);
}
/**
* Test for getData
*
* @return void
*/
public function testGetData()
{
$parent = PMA_NodeFactory::getInstance('Node_Database');
$tables = $parent->getData('tables', 0);
$this->assertContains(
'test1',
$tables
);
$this->assertContains(
'test2',
$tables
);
$views = $parent->getData('views', 0);
$this->assertEmpty($views);
$functions = $parent->getData('functions', 0);
$this->assertContains(
'testFunction',
$functions
);
$this->assertEquals(
1,
count($functions)
);
$this->assertEmpty($parent->getData('procedures', 0));
$this->assertEmpty($parent->getData('events', 0));
}
/**
* Test for setHiddenCount and getHiddenCount
*
* @return void
*/
public function testHiddenCount()
{
$parent = PMA_NodeFactory::getInstance('Node_Database');
$parent->setHiddenCount(3);
$this->assertEquals(
3,
$parent->getHiddenCount()
);
}
}
?>