Viewing file: PMA_tbl_printview_test.php (12.48 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Tests for libraries/tbl_printview.lib.php * * @package PhpMyAdmin-test */
/* * Include to test. */ require_once 'libraries/tbl_printview.lib.php'; require_once 'libraries/Util.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/relation.lib.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/transformations.lib.php'; require_once 'libraries/Message.class.php'; require_once 'libraries/Table.class.php'; require_once 'libraries/js_escape.lib.php'; require_once 'libraries/sqlparser.lib.php'; require_once 'libraries/Index.class.php';
/** * Tests for libraries/tbl_printview.lib.php * * @package PhpMyAdmin-test */ class PMA_TblPrintViewTest extends PHPUnit_Framework_TestCase {
/** * Setup function for test cases * * @access protected * @return void */ protected function setUp() { /** * SET these to avoid undefined index error */ $GLOBALS['server'] = 1; $GLOBALS['cfg']['TableNavigationLinksMode'] = 'icons'; $GLOBALS['cfg']['LimitChars'] = 100; $_SESSION['relation'][$GLOBALS['server']] = array( 'table_coords' => "table_name", 'displaywork' => 'displaywork', 'db' => "information_schema", 'table_info' => 'table_info', 'column_info' => 'column_info', 'relwork' => 'relwork', 'relation' => 'relation', 'commwork' => 'commwork', 'bookmarkwork' => 'bookmarkwork', );
$dbi = $this->getMockBuilder('PMA_DatabaseInterface') ->disableOriginalConstructor() ->getMock();
$fetchResult = array( 'column1' => array('mimetype' => 'value1', 'transformation'=> 'pdf'), 'column2' => array('mimetype' => 'value2', 'transformation'=> 'xml'), );
$dbi->expects($this->any())->method('fetchResult') ->will($this->returnValue($fetchResult));
$dbi->expects($this->any())->method('getTableIndexes') ->will($this->returnValue(array()));
$GLOBALS['dbi'] = $dbi; }
/** * Tests for PMA_getHtmlForTablesInfo() method. * * @return void * @test */ public function testPMAGetHtmlForTablesInfo() { $the_tables = array("PMA_table1", "PMA_table2");
$html = PMA_getHtmlForTablesInfo($the_tables);
$this->assertContains( __('Showing tables:'), $html ); $this->assertContains( "`PMA_table1`, `PMA_table2`", $html ); }
/** * Tests for PMA_getHtmlForPrintViewFooter() method. * * @return void * @test */ public function testPMAGetHtmlForPrintViewFooter() { $html = PMA_getHtmlForPrintViewFooter();
$this->assertContains( '<input type="button" class="button" id="print" value="Print" />', $html ); $this->assertContains( "PMA_disable_floating_menubar", $html ); }
/** * Tests for PMA_getHtmlForRowStatistics() method. * * @return void * @test */ public function testPMAGetHtmlForRowStatistics() { $showtable = array( 'Row_format' => "Fixed", 'Rows' => 10, 'Avg_row_length' => 123, 'Data_length' => 345, 'Auto_increment' => 1234, 'Create_time' => "today", 'Update_time' => "time2", 'Check_time' => "yesterday", ); $cell_align_left = "cell_align_left"; $avg_size = 12; $avg_unit = 45; $mergetable = false;
$html = PMA_getHtmlForRowStatistics( $showtable, $cell_align_left, $avg_size, $avg_unit, $mergetable );
$this->assertContains( __('Row Statistics:'), $html );
//validation 1 : Row_format $this->assertContains( __('Format'), $html ); $this->assertContains( $cell_align_left, $html ); //$showtable['Row_format'] == 'Fixed' $this->assertContains( __('static'), $html );
//validation 2 : Avg_row_length $length = PMA_Util::formatNumber( $showtable['Avg_row_length'], 0 ); $this->assertContains( $length, $html ); $this->assertContains( __('Row size'), $html ); $this->assertContains( $avg_size . ' ' . $avg_unit, $html );
//validation 3 : Auto_increment $average = PMA_Util::formatNumber( $showtable['Auto_increment'], 0 ); $this->assertContains( $average, $html ); $this->assertContains( __('Next autoindex'), $html );
//validation 4 : Create_time $time = PMA_Util::localisedDate( strtotime($showtable['Create_time']) ); $this->assertContains( __('Creation'), $html ); $this->assertContains( $time, $html );
//validation 5 : Update_time $time = PMA_Util::localisedDate( strtotime($showtable['Update_time']) ); $this->assertContains( __('Last update'), $html ); $this->assertContains( $time, $html );
//validation 6 : Check_time $time = PMA_Util::localisedDate( strtotime($showtable['Check_time']) ); $this->assertContains( __('Last check'), $html ); $this->assertContains( $time, $html ); }
/** * Tests for PMA_getHtmlForSpaceUsage() method. * * @return void * @test */ public function testPMAGetHtmlForSpaceUsage() { $data_size = '10'; $data_unit = '11'; $index_size = '12'; $index_unit = '13'; $free_size = '14'; $free_unit = '15'; $effect_size = '16'; $effect_unit = '17'; $tot_size = '18'; $tot_unit = '19'; $mergetable = false;
$html = PMA_getHtmlForSpaceUsage( $data_size, $data_unit, $index_size, $index_unit, $free_size, $free_unit, $effect_size, $effect_unit, $tot_size, $tot_unit, $mergetable );
//validation 1 : title $this->assertContains( __('Space usage:'), $html );
//validation 2 : $data_size & $data_unit $this->assertContains( $data_size, $html ); $this->assertContains( $data_unit, $html );
//validation 3 : $index_size & $index_unit $this->assertContains( $index_size, $html ); $this->assertContains( $index_unit, $html );
//validation 4 : Overhead $this->assertContains( __('Overhead'), $html ); $this->assertContains( $free_size, $html ); $this->assertContains( $free_unit, $html );
//validation 5 : Effective $this->assertContains( __('Effective'), $html ); $this->assertContains( $effect_size, $html ); $this->assertContains( $effect_unit, $html );
//validation 6 : $tot_size & $tot_unit $this->assertContains( $tot_size, $html ); $this->assertContains( $tot_unit, $html );
}
/** * Tests for PMA_getHtmlForSpaceUsageAndRowStatistics() method. * * @return void * @test */ public function testPMAGetHtmlForSpaceUsageAndRowStatistics() { $showtable = array( 'Row_format' => "Fixed", 'Rows' => 10, 'Avg_row_length' => 123, 'Data_length' => 345, 'Auto_increment' => 1234, 'Create_time' => "today", 'Update_time' => "time2", 'Check_time' => "yesterday", 'Data_length' => 10, 'Index_length' => 12334, 'Data_length' => 4567, 'Data_free' => 3456, 'Check_time' => 1234, ); $db = "pma_db"; $table = "pma_table"; $cell_align_left = "cell_align_left";
$html = PMA_getHtmlForSpaceUsageAndRowStatistics( $showtable, $db, $table, $cell_align_left );
//validation 1 : $data_size, $data_unit list($data_size, $data_unit) = PMA_Util::formatByteDown( $showtable['Data_length'] ); $this->assertContains( $data_size, $html ); $this->assertContains( $data_unit, $html );
//validation 2 : $data_size, $data_unit list($index_size, $index_unit) = PMA_Util::formatByteDown( $showtable['Index_length'] ); $this->assertContains( $index_size, $html ); $this->assertContains( $index_unit, $html );
//validation 3 : $free_size, $free_unit list($free_size, $free_unit) = PMA_Util::formatByteDown( $showtable['Data_free'] ); $this->assertContains( $free_size, $html ); $this->assertContains( $free_unit, $html );
//validation 4 : $effect_size, $effect_unit list($effect_size, $effect_unit) = PMA_Util::formatByteDown( $showtable['Data_length'] + $showtable['Index_length'] - $showtable['Data_free'] ); $this->assertContains( $effect_size, $html ); $this->assertContains( $effect_unit, $html );
//validation 5 : $effect_size, $effect_unit list($tot_size, $tot_unit) = PMA_Util::formatByteDown( $showtable['Data_length'] + $showtable['Index_length'] ); $this->assertContains( $tot_size, $html ); $this->assertContains( $tot_unit, $html ); }
/** * Tests for PMA_getHtmlForPrintViewColumns() method. * * @return void * @test */ public function testPMAGetHtmlForPrintViewColumns() { $columns = array( array( "Type" => "Type1", "Default" => "Default1", "Null" => "Null1", "Field" => "Field1", ) ); $analyzed_sql = array( array( 'create_table_fields' => array( "Field1" => array( "type" => "TIMESTAMP", "timestamp_not_null" => true ) ) ) ); $have_rel = false; $res_rel = array(); $db = "pma_db"; $table = "pma_table"; $cfgRelation = array('mimework' => true);
$html = PMA_getHtmlForPrintViewColumns( false, $columns, $analyzed_sql, $have_rel, $res_rel, $db, $table, $cfgRelation );
//validation 1 : $row $row = $columns[0]; $this->assertContains( htmlspecialchars($row['Default']), $html ); $this->assertContains( htmlspecialchars($row['Field']), $html );
//validation 2 : $field_name $field_name = htmlspecialchars($row['Field']); $comments = PMA_getComments($db, $table); $this->assertContains( $field_name, $html );
//validation 3 : $extracted_columnspec $extracted_columnspec = PMA_Util::extractColumnSpec($row['Type']); $type = $extracted_columnspec['print_type']; $attribute = $extracted_columnspec['attribute']; $this->assertContains( $type, $html ); } }
?>
|