def test_paginator_with_allowed_empty_first_page(self): p = InfinitePaginator([], 1, allow_empty_first_page=True) self.assertRaises(EmptyPage, p.page, -2) self.assertRaises(EmptyPage, p.page, -1) self.assertRaises(EmptyPage, p.page, 0) self.assertIsInstance(p.page(1), InfinitePage) self.assertRaises(EmptyPage, p.page, 2)
class InfinitePaginatorTestCase(SimpleTestCase): def setUp(self): self.p = InfinitePaginator(range(20), 2, link_template='/bacon/page/%d') def test_paginator_repr(self): self.assertEqual( repr(InfinitePaginator), "<class 'linaro_django_pagination.paginator.InfinitePaginator'>", ) def test_validate_number(self): self.assertEqual(self.p.validate_number(2), 2) def test_orphans(self): self.assertEqual(self.p.orphans, 0) def test_page_repr(self): self.assertEqual(repr(self.p.page(3)), '<Page 3>') def test_page_end_index(self): self.assertEqual(self.p.page(3).end_index(), 6) def test_page_has_next(self): self.assertTrue(self.p.page(3).has_next(), True) def test_page_has_previous(self): self.assertTrue(self.p.page(3).has_previous(), True) def test_page_next_link(self): self.assertEqual(self.p.page(3).next_link(), '/bacon/page/4') def test_page_previous_link(self): self.assertEqual(self.p.page(3).previous_link(), '/bacon/page/2') def test_last_page_which_has_no_next_page(self): self.assertFalse(self.p.page(10).has_next()) def test_first_page_which_has_no_previous_page(self): self.assertFalse(self.p.page(1).has_previous())
class InfinitePaginatorTestCase(SimpleTestCase): def setUp(self): self.p = InfinitePaginator(range(20), 2, link_template='/bacon/page/%d') def test_paginator_repr(self): self.assertEqual( repr(InfinitePaginator), "<class 'linaro_django_pagination.paginator.InfinitePaginator'>", ) def test_valid_page_number(self): self.assertEqual(self.p.validate_number(2), 2) def test_invalid_page_number(self): self.assertRaises(PageNotAnInteger, self.p.validate_number, 'six') def test_non_positive_page_number(self): self.assertRaises(EmptyPage, self.p.validate_number, 0) self.assertRaises(EmptyPage, self.p.validate_number, -1) self.assertRaises(EmptyPage, self.p.validate_number, -100) def test_page_exceeding(self): self.assertRaises(EmptyPage, self.p.page, 0) self.assertRaises(EmptyPage, self.p.page, 11) def test_orphans(self): self.assertEqual(self.p.orphans, 0) def test_page_repr(self): self.assertEqual(repr(self.p.page(3)), '<Page 3>') def test_page_end_index(self): self.assertEqual(self.p.page(3).end_index(), 6) def test_page_has_next(self): self.assertTrue(self.p.page(3).has_next()) def test_page_has_previous(self): self.assertTrue(self.p.page(3).has_previous()) def test_page_next_link(self): self.assertEqual(self.p.page(3).next_link(), '/bacon/page/4') def test_page_previous_link(self): self.assertEqual(self.p.page(3).previous_link(), '/bacon/page/2') def test_last_page_which_has_no_next_page(self): self.assertFalse(self.p.page(10).has_next()) def test_first_page_which_has_no_previous_page(self): self.assertFalse(self.p.page(1).has_previous()) def test_last_page_which_has_no_next_link(self): self.assertIsNone(self.p.page(10).next_link()) def test_first_page_which_has_no_previous_link(self): self.assertIsNone(self.p.page(1).previous_link()) def test_not_implemented_count(self): self.assertRaises(NotImplementedError, getattr, self.p, 'count') def test_not_implemented_num_pages(self): self.assertRaises(NotImplementedError, getattr, self.p, 'num_pages') def test_not_implemented_page_range(self): self.assertRaises(NotImplementedError, getattr, self.p, 'page_range') def test_paginator_with_allowed_empty_first_page(self): p = InfinitePaginator([], 1, allow_empty_first_page=True) self.assertRaises(EmptyPage, p.page, -2) self.assertRaises(EmptyPage, p.page, -1) self.assertRaises(EmptyPage, p.page, 0) self.assertIsInstance(p.page(1), InfinitePage) self.assertRaises(EmptyPage, p.page, 2)