def test_no_next(self): # An empty string is returned if the next page cannot be found. num_pages = self.paginator.num_pages pages = el_models.PageList(self.request, self.paginator.page(num_pages), self.page_label) self.assertEqual('', pages.next())
def test_no_previous(self): # An empty string is returned if the previous page cannot be found. pages = el_models.PageList(self.request, self.paginator.page(1), self.page_label, context=Context()) self.assertEqual('', pages.previous())
def test_paginated(self): # Ensure the *paginated* method returns True if the page list contains # more than one page, False otherwise. page = DefaultPaginator(range(10), 10).page(1) pages = el_models.PageList(self.request, page, self.page_label) self.assertFalse(pages.paginated()) self.assertTrue(self.pages.paginated())
def test_page_list_render_just_one_page(self): # Ensure nothing is rendered if the page list contains only one page. page = DefaultPaginator(range(10), 10).page(1) pages = el_models.PageList(self.request, page, self.page_label, context=Context()) self.assertEqual('', utils.text(pages))
def test_whitespace_in_path(self): # Ensure white spaces in paths are correctly handled. path = '/a path/containing spaces/' request = self.factory.get(path) next = el_models.PageList(request, self.paginator.page(self.current_number), self.page_label).next() self.assertEqual(path.replace(' ', '%20') + next.url, next.path)
def test_different_default_number(self): # Ensure the page path is generated based on the default number. pages = el_models.PageList(self.request, self.paginator.page(2), self.page_label, default_number=2) self.assertEqual('/', pages.current().path) self.assertEqual(self.get_path_for_page(1), pages.first().path)
def setUp(self): self.paginator = DefaultPaginator(range(30), 7, orphans=2) self.current_number = 2 self.page_label = 'page' self.factory = RequestFactory() self.request = self.factory.get( self.get_path_for_page(self.current_number)) self.pages = el_models.PageList( self.request, self.paginator.page(self.current_number), self.page_label)
def render(self, context): # This template tag could raise a PaginationError: you have to call # *paginate* or *lazy_paginate* before including the getpages template. data = utils.get_data_from_context(context) # Return the string representation of the sequence of pages. pages = models.PageList(context['request'], data['page'], data['querystring_key'], default_number=data['default_number'], override_path=data['override_path'], context=context) return pages.get_rendered()
def render(self, context): # This template tag could raise a PaginationError: you have to call # *paginate* or *lazy_paginate* before including the getpages template. data = utils.get_data_from_context(context) # Add the PageList instance to the context. context[self.var_name] = models.PageList( context['request'], data['page'], data['querystring_key'], default_number=data['default_number'], override_path=data['override_path'], ) return ''