From e0fb29e8d5539345afd207049fc317392a785200 Mon Sep 17 00:00:00 2001 From: adamgsoc2013 Date: Thu, 22 Aug 2013 21:25:10 +0800 Subject: [PATCH] add UT for PMA_tbl_views --- test/libraries/PMA_tbl_views_test.php | 137 ++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 test/libraries/PMA_tbl_views_test.php diff --git a/test/libraries/PMA_tbl_views_test.php b/test/libraries/PMA_tbl_views_test.php new file mode 100644 index 0000000000..f3429faae2 --- /dev/null +++ b/test/libraries/PMA_tbl_views_test.php @@ -0,0 +1,137 @@ +getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + $dbi->expects($this->any()) + ->method('tryQuery') + ->will($this->returnValue('executeResult2')); + + //_SESSION + $_SESSION['relation'][$GLOBALS['server']] = array( + 'table_coords' => "table_name", + 'displaywork' => 'displaywork', + 'db' => "information_schema", + 'table_info' => 'table_info', + 'relwork' => 'relwork', + 'relation' => 'relation', + 'column_info' => 'column_info', + ); + + $meta1 = new FieldMeta(); + $meta1->table = "meta1_table"; + $meta1->name = "meta1_name"; + $meta2 = new FieldMeta(); + $meta2->table = "meta2_table"; + $meta2->name = "meta2_name"; + + $getFieldsMeta = array($meta1, $meta2); + $dbi->expects($this->any()) + ->method('getFieldsMeta') + ->will($this->returnValue($getFieldsMeta)); + + $GLOBALS['dbi'] = $dbi; + } + + /** + * Tests for PMA_getColumnMap() method. + * + * @return void + * @test + */ + public function testPMAGetColumnMap() + { + $sql_query = "PMA_sql_query"; + $view_columns = array( + "view_columns1", "view_columns2" + ); + + $column_map = PMA_getColumnMap($sql_query, $view_columns); + + $this->assertEquals( + array( + 'table_name' => 'meta1_table', + 'refering_column' => 'meta1_name', + 'real_column' => 'view_columns1' + ), + $column_map[0] + ); + $this->assertEquals( + array( + 'table_name' => 'meta2_table', + 'refering_column' => 'meta2_name', + 'real_column' => 'view_columns2' + ), + $column_map[1] + ); + } + + /** + * Tests for PMA_getExistingTranformationData() method. + * + * @return void + * @test + */ + public function testPMAGetExistingTranformationData() + { + $db = "PMA_db"; + $ret = PMA_getExistingTranformationData($db); + + //validate that is the same as $GLOBALS['dbi']->tryQuery + $this->assertEquals( + 'executeResult2', + $ret + ); + } +} + +/** + * clas for Table Field Meta + * + * @package PhpMyAdmin-test + */ +class FieldMeta +{ + public $table; + public $name; +} + +?> \ No newline at end of file