limit.test.php
来自「一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:」· PHP 代码 · 共 142 行
PHP
142 行
<?phpif(!defined("PATH_TEST_TO_ROOT")) { define('PATH_TEST_TO_ROOT', '../../../..');}if(!defined('CONFIG_TEST_INCLUDED')){ require_once "../../../../tests/config_test.php";}require_once 'DataTable.php';class Test_Piwik_DataTable_Filter_Limit extends UnitTestCase{ /** * Returns table used for the tests * * @return Piwik_DataTable */ protected function getDataTableCount10() { $table = new Piwik_DataTable; $idcol = Piwik_DataTable_Row::COLUMNS; $rows = array( array( $idcol => array('label'=>'google', 'idRow' => 0)), array( $idcol => array('label'=>'ask', 'idRow' => 1)), array( $idcol => array('label'=>'piwik', 'idRow' => 2)), array( $idcol => array('label'=>'yahoo', 'idRow' => 3)), array( $idcol => array('label'=>'amazon', 'idRow' => 4)), array( $idcol => array('label'=>'238949', 'idRow' => 5)), array( $idcol => array('label'=>'test', 'idRow' => 6)), array( $idcol => array('label'=>'amazing', 'idRow' => 7)), array( $idcol => array('label'=>'great', 'idRow' => 8)), Piwik_DataTable::ID_SUMMARY_ROW => array( $idcol => array('label'=>'summary row', 'idRow' => 9)), ); $table->loadFromArray( $rows ); return $table; } public function test_normal() { $offset = 2; $limit = 3; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 3); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 2); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 4); } public function test_limitLessThanCount_shouldReturnCountLimit() { $offset = 2; $limit = 7; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 7); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 2); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 8); } public function test_limitIsCount_shouldNotDeleteAnything() { $offset = 0; $limit = 10; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 10); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 0); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 9); } public function test_limitGreaterThanCount_shouldReturnCountUntilCount() { $offset = 5; $limit = 20; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 5); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 5); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 9); } public function test_limitIsNull_shouldReturnCountIsOffset() { $offset = 1; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset); $this->assertEqual($table->getRowsCount(), 9); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 1); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 9); } public function test_offsetJustBeforeSummaryRow_shouldJustReturnSummaryRow() { $offset = 9; $limit = 1; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 1); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 9); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 9); } public function test_offsetJustBeforeSummaryRowWithBigLimit_shouldJustReturnSummaryRow() { $offset = 9; $limit = 100; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 1); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 9); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 9); } public function test_offsetBeforeSummaryRow_shouldJustReturnRowAndSummaryRow() { $offset = 8; $limit = 3; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 2); $this->assertEqual($table->getFirstRow()->getColumn('idRow'), 8); $this->assertEqual($table->getLastRow()->getColumn('idRow'), 9); } public function test_offsetGreaterThanCount_shouldReturnEmptyTable() { $offset = 10; $limit = 10; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 0); } public function test_limitIsZero_shouldReturnEmptyTable() { $offset = 0; $limit = 0; $table = $this->getDataTableCount10(); $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); $this->assertEqual($table->getRowsCount(), 0); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?