/** * Tests the hasMoreRecords() method. * * @dataProvider providerTestHasMoreRecords * * @see \Drupal\views\Plugin\views\pager\PagerPluginBase::hasMoreRecords() */ public function testHasMoreRecords($items_per_page, $total_items, $current_page, $has_more_records) { $this->pager->setItemsPerPage($items_per_page); $this->pager->total_items = $total_items; $this->pager->setCurrentPage($current_page); $this->assertEquals($has_more_records, $this->pager->hasMoreRecords()); }
/** * Tests a counter field on the second page. * * @param int $i * The row index to test. * * @dataProvider providerRowIndexes */ public function testCounterSecondPage($i) { $offset = 3; // Setup a pager on the second page. $this->pager->setOffset($offset); $items_per_page = 5; $this->pager->setItemsPerPage($items_per_page); $current_page = 1; $this->pager->setCurrentPage($current_page); $rand_start = rand(5, 10); $counter_handler = new Counter(array(), 'counter', $this->definition); $options = array('counter_start' => $rand_start); $counter_handler->init($this->view, $this->display, $options); $this->view->row_index = $i; $expected = $items_per_page + $offset + $rand_start + $i; $counter = $counter_handler->getValue($this->testData[$i]); $this->assertEquals($expected, $counter, 'The expected number matches with the counter number'); $counter = $this->renderCounter($counter_handler, $this->testData[$i]); $this->assertEquals($expected, $counter, 'The expected number matches with the rendered number'); }
/** * Initialize the pager * * Like style initialization, pager initialization is held until late * to allow for overrides. */ public function initPager() { if (!isset($this->pager)) { $this->pager = $this->display_handler->getPlugin('pager'); if ($this->pager->usePager()) { $this->pager->setCurrentPage($this->current_page); } // These overrides may have been set earlier via $view->set_* // functions. if (isset($this->items_per_page)) { $this->pager->setItemsPerPage($this->items_per_page); } if (isset($this->offset)) { $this->pager->setOffset($this->offset); } } }