diff options
Diffstat (limited to 'tests/pagination')
-rw-r--r-- | tests/pagination/config/routing.yml | 4 | ||||
-rw-r--r-- | tests/pagination/pagination_test.php | 42 | ||||
-rw-r--r-- | tests/pagination/templates/pagination_double_nested.html | 19 | ||||
-rw-r--r-- | tests/pagination/templates/pagination_sub.html | 17 |
4 files changed, 77 insertions, 5 deletions
diff --git a/tests/pagination/config/routing.yml b/tests/pagination/config/routing.yml index dd667274cd..2ce082c9d1 100644 --- a/tests/pagination/config/routing.yml +++ b/tests/pagination/config/routing.yml @@ -1,6 +1,6 @@ core_controller: - pattern: /test + path: /test defaults: { _controller: core_foo.controller:bar, page: 1} core_page_controller: - pattern: /test/page/{page} + path: /test/page/{page} defaults: { _controller: core_foo.controller:bar} diff --git a/tests/pagination/pagination_test.php b/tests/pagination/pagination_test.php index 95856dd07d..ea6dd999c3 100644 --- a/tests/pagination/pagination_test.php +++ b/tests/pagination/pagination_test.php @@ -28,7 +28,7 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case global $phpbb_dispatcher; - $phpbb_dispatcher = new phpbb_mock_event_dispatcher; + $phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $this->user = $this->getMock('\phpbb\user', array(), array('\phpbb\datetime')); $this->user->expects($this->any()) ->method('lang') @@ -57,8 +57,8 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case $request ); - $this->helper = new phpbb_mock_controller_helper($this->template, $this->user, $this->config, $provider, $manager, $symfony_request, $filesystem, '', 'php', dirname(__FILE__) . '/'); - $this->pagination = new \phpbb\pagination($this->template, $this->user, $this->helper); + $this->helper = new phpbb_mock_controller_helper($this->template, $this->user, $this->config, $provider, $manager, $symfony_request, $request, $filesystem, '', 'php', dirname(__FILE__) . '/'); + $this->pagination = new \phpbb\pagination($this->template, $this->user, $this->helper, $phpbb_dispatcher); } public function generate_template_pagination_data() @@ -172,6 +172,42 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case $this->assertEquals(str_replace("\t", '', $expect), $this->display('test')); } + /** + * @dataProvider generate_template_pagination_data + */ + public function test_generate_template_pagination_sub($base_url, $start_name, $num_items, $per_page, $start_item, $expect) + { + // Block needs to be assigned before pagination + $this->template->assign_block_vars('sub', array( + 'FOO' => 'bar', + )); + + $this->pagination->generate_template_pagination($base_url, 'sub.pagination', $start_name, $num_items, $per_page, $start_item); + $this->template->set_filenames(array('test' => 'pagination_sub.html')); + + $this->assertEquals(str_replace("\t", '', $expect), $this->display('test')); + } + + /** + * @dataProvider generate_template_pagination_data + */ + public function test_generate_template_pagination_double_nested($base_url, $start_name, $num_items, $per_page, $start_item, $expect) + { + // Block needs to be assigned before pagination + $this->template->assign_block_vars('sub', array( + 'FOO' => 'bar', + )); + + $this->template->assign_block_vars('sub.level2', array( + 'BAR' => 'foo', + )); + + $this->pagination->generate_template_pagination($base_url, 'sub.level2.pagination', $start_name, $num_items, $per_page, $start_item); + $this->template->set_filenames(array('test' => 'pagination_double_nested.html')); + + $this->assertEquals(str_replace("\t", '', $expect), $this->display('test')); + } + public function on_page_data() { return array( diff --git a/tests/pagination/templates/pagination_double_nested.html b/tests/pagination/templates/pagination_double_nested.html new file mode 100644 index 0000000000..c179248233 --- /dev/null +++ b/tests/pagination/templates/pagination_double_nested.html @@ -0,0 +1,19 @@ +pagination +<!-- BEGIN sub --> +<!-- BEGIN level2 --> +:per_page:{sub.level2.PER_PAGE} +:current_page:{sub.level2.CURRENT_PAGE} +:base_url:{sub.level2.BASE_URL} +<!-- BEGIN pagination --> +<!-- IF sub.level2.pagination.S_IS_PREV -->:previous:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +<!-- ELSEIF sub.level2.pagination.S_IS_CURRENT -->:current:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +<!-- ELSEIF sub.level2.pagination.S_IS_ELLIPSIS -->:ellipsis:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +<!-- ELSEIF sub.level2.pagination.S_IS_NEXT -->:next:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +<!-- ELSE -->:else:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +<!-- ENDIF --> +<!-- END pagination --> +<!-- IF sub.level2.U_PREVIOUS_PAGE -->:u_prev:{sub.level2.U_PREVIOUS_PAGE}<!-- ENDIF --> + +<!-- IF sub.level2.U_NEXT_PAGE -->:u_next:{sub.level2.U_NEXT_PAGE}<!-- ENDIF --> +<!-- END level2 --> +<!-- END sub --> diff --git a/tests/pagination/templates/pagination_sub.html b/tests/pagination/templates/pagination_sub.html new file mode 100644 index 0000000000..4ec14039e0 --- /dev/null +++ b/tests/pagination/templates/pagination_sub.html @@ -0,0 +1,17 @@ +pagination +<!-- BEGIN sub --> +:per_page:{sub.PER_PAGE} +:current_page:{sub.CURRENT_PAGE} +:base_url:{sub.BASE_URL} +<!-- BEGIN pagination --> +<!-- IF sub.pagination.S_IS_PREV -->:previous:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +<!-- ELSEIF sub.pagination.S_IS_CURRENT -->:current:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +<!-- ELSEIF sub.pagination.S_IS_ELLIPSIS -->:ellipsis:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +<!-- ELSEIF sub.pagination.S_IS_NEXT -->:next:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +<!-- ELSE -->:else:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +<!-- ENDIF --> +<!-- END pagination --> +<!-- IF sub.U_PREVIOUS_PAGE -->:u_prev:{sub.U_PREVIOUS_PAGE}<!-- ENDIF --> + +<!-- IF sub.U_NEXT_PAGE -->:u_next:{sub.U_NEXT_PAGE}<!-- ENDIF --> +<!-- END sub --> |