Example #1
0
 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())
Example #2
0
 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())
Example #3
0
 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())
Example #4
0
 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))
Example #5
0
 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)
Example #6
0
 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)
Example #7
0
 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)
Example #8
0
 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()
Example #9
0
 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 ''