TraversableItemsTest.php 861 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. use Test\Tool\BaseTestCase;
  3. use Knp\Component\Pager\Paginator;
  4. use Knp\Component\Pager\Pagination\SlidingPagination;
  5. use Knp\Component\Pager\Pagination\PaginationInterface;
  6. use Knp\Component\Pager\Event\Subscriber\Paginate\PaginationSubscriber;
  7. class TraversableItemsTest extends BaseTestCase
  8. {
  9. /**
  10. * @test
  11. */
  12. function shouldBeAbleToUseTraversableItems()
  13. {
  14. $p = new Paginator;
  15. $items = new \ArrayObject(range(1, 23));
  16. $view = $p->paginate($items, 3, 10);
  17. $view->renderer = function($data) {
  18. return 'custom';
  19. };
  20. $this->assertEquals('custom', (string)$view);
  21. $items = $view->getItems();
  22. $this->assertTrue($items instanceof \ArrayObject);
  23. $i = 21;
  24. foreach ($view as $item) {
  25. $this->assertEquals($i++, $item);
  26. }
  27. }
  28. }