diff --git a/tests/pagination/pagination_test.php b/tests/pagination/pagination_test.php index 1b9e8c751c..63ae9b4207 100644 --- a/tests/pagination/pagination_test.php +++ b/tests/pagination/pagination_test.php @@ -166,6 +166,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 + + +: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} + + 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 + +:per_page:{sub.PER_PAGE} +:current_page:{sub.CURRENT_PAGE} +:base_url:{sub.BASE_URL} + +:previous:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +:current:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +:ellipsis:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +:next:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} +:else:{sub.pagination.PAGE_NUMBER}:{sub.pagination.PAGE_URL} + + +:u_prev:{sub.U_PREVIOUS_PAGE} + +:u_next:{sub.U_NEXT_PAGE} +