Ejemplo n.º 1
0
 def test_paginate_list(self):
     # Paginators work with regular lists/tuples, too -- not just with QuerySets.
     paginator = Paginator([1, 2, 3, 4, 5, 6, 7, 8, 9], 3)
     self.assertEqual(9, paginator.count)
     self.assertEqual(3, paginator.num_pages)
     self.assertEqual([1, 2, 3], list(paginator.page_range))
     p = paginator.page(2)
     self.assertEqual("<Page 2 of 3>", six.text_type(p))
     self.assertEqual([4, 5, 6], p.object_list)
     self.assertTrue(p.has_next())
     self.assertTrue(p.has_previous())
     self.assertTrue(p.has_other_pages())
     self.assertEqual(3, p.next_page_number())
     self.assertEqual(1, p.previous_page_number())
     self.assertEqual(4, p.start_index())
     self.assertEqual(6, p.end_index())
Ejemplo n.º 2
0
 def test_last_page(self):
     paginator = Paginator(Article.objects.all(), 5)
     p = paginator.page(2)
     self.assertEqual("<Page 2 of 2>", six.text_type(p))
     self.assertQuerysetEqual(p.object_list, [
             "<Article: Article 6>",
             "<Article: Article 7>",
             "<Article: Article 8>",
             "<Article: Article 9>"
         ]
     )
     self.assertFalse(p.has_next())
     self.assertTrue(p.has_previous())
     self.assertTrue(p.has_other_pages())
     self.assertRaises(InvalidPage, p.next_page_number)
     self.assertEqual(1, p.previous_page_number())
     self.assertEqual(6, p.start_index())
     self.assertEqual(9, p.end_index())
Ejemplo n.º 3
0
 def test_first_page(self):
     paginator = Paginator(Article.objects.all(), 5)
     p = paginator.page(1)
     self.assertEqual("<Page 1 of 2>", six.text_type(p))
     self.assertQuerysetEqual(p.object_list, [
             "<Article: Article 1>",
             "<Article: Article 2>",
             "<Article: Article 3>",
             "<Article: Article 4>",
             "<Article: Article 5>"
         ]
     )
     self.assertTrue(p.has_next())
     self.assertFalse(p.has_previous())
     self.assertTrue(p.has_other_pages())
     self.assertEqual(2, p.next_page_number())
     self.assertRaises(InvalidPage, p.previous_page_number)
     self.assertEqual(1, p.start_index())
     self.assertEqual(5, p.end_index())
Ejemplo n.º 4
0
 def check_indexes(self, params, page_num, indexes):
     """
     Helper method that instantiates a Paginator object from the passed
     params and then checks that the start and end indexes of the passed
     page_num match those given as a 2-tuple in indexes.
     """
     paginator = Paginator(*params)
     if page_num == 'first':
         page_num = 1
     elif page_num == 'last':
         page_num = paginator.num_pages
     page = paginator.page(page_num)
     start, end = indexes
     msg = ("For %s of page %s, expected %s but got %s."
            " Paginator parameters were: %s")
     self.assertEqual(start, page.start_index(),
         msg % ('start index', page_num, start, page.start_index(), params))
     self.assertEqual(end, page.end_index(),
         msg % ('end index', page_num, end, page.end_index(), params))