Beispiel #1
0
 /**
  * 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());
 }
Beispiel #2
0
 /**
  * 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');
 }
Beispiel #3
0
 /**
  * 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);
         }
     }
 }