From a5c65449deb98d752a4c0da86724230b4b879179 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sat, 24 Jan 2015 14:35:49 +0100 Subject: [PATCH] [ticket/13538] Add tests for double nested pagination loop PHPBB3-13538 --- tests/pagination/pagination_test.php | 20 +++++++++++++++++++ .../templates/pagination_double_nested.html | 19 ++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tests/pagination/templates/pagination_double_nested.html diff --git a/tests/pagination/pagination_test.php b/tests/pagination/pagination_test.php index a37d34ad1b..ea6dd999c3 100644 --- a/tests/pagination/pagination_test.php +++ b/tests/pagination/pagination_test.php @@ -188,6 +188,26 @@ 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_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 + + +:per_page:{sub.level2.PER_PAGE} +:current_page:{sub.level2.CURRENT_PAGE} +:base_url:{sub.level2.BASE_URL} + +:previous:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +:current:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +:ellipsis:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +:next:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} +:else:{sub.level2.pagination.PAGE_NUMBER}:{sub.level2.pagination.PAGE_URL} + + +:u_prev:{sub.level2.U_PREVIOUS_PAGE} + +:u_next:{sub.level2.U_NEXT_PAGE} + +