/** * Check if paginate works as expected. */ public function testPaginate() { $container = self::createClient()->getContainer(); $counter = new CountAdapter(10); $pagerService = new PagerService($counter); $pagerService->setLimit(2); $pagerService->setPage(2); /** @var \Twig_Environment $environment */ $environment = $container->get('twig'); $environment->setLoader(new \Twig_Loader_String()); $paginateTemplate = '{{ ongr_paginate_path(route, pager.getFirstPage, parameters) }} {{ ongr_paginate_path(route, pager.getLastPage, parameters) }}'; $mainTemplate = "{{ ongr_paginate(pager, 'test_page', [], '" . $paginateTemplate . "') }}"; $result = trim($environment->render($mainTemplate, ['pager' => $pagerService])); $this->assertStringStartsWith('/', $result); $this->assertStringEndsWith('/?page=5', $result); }
/** * Tests isLastPage method. */ public function testIsLastPage() { $mockPagerAdapter = $this->getPagerAdapterMock(500); $pager = new PagerService($mockPagerAdapter, ['limit' => 10, 'page' => 5]); $this->assertFalse($pager->isLastPage()); $pager->setPage(50); $this->assertTrue($pager->isLastPage()); }