def test_even_body_length_100(self): p = DiggPaginator(range(1, 1000), 10, body=6).page(100) self.assertEqual(p.number, 100) self.assertEqual(p.page_range, [1, 2, False, 95, 96, 97, 98, 99, 100])
def test_combine_leading_range_2(self): p = DiggPaginator(range(1, 1000), 10, body=6, padding=2, margin=2).page(4) self.assertEqual(p.number, 4) self.assertEqual(p.page_range, [1, 2, 3, 4, 5, 6, False, 99, 100])
def test_softlimit(self): p = DiggPaginator(range(1, 1000), 10, body=5).page(999, softlimit=True) self.assertEqual(p.number, 100)
def test_even_body_length_1(self): p = DiggPaginator(range(1, 1000), 10, body=6).page(1) self.assertEqual(p.number, 1) self.assertEqual(p.page_range, [1, 2, 3, 4, 5, 6, False, 99, 100])
def test_combine_all_ranges_3(self): p = DiggPaginator(range(1, 151), 10, body=6, padding=1).page(8) self.assertEqual(p.number, 8) self.assertEqual(p.page_range, [1, 2, 3, 4, 5, 6, 7, 8, 9, False, 14, 15])
def test_padding_sanity_check(self): with self.assertRaises(ValueError): DiggPaginator(range(1, 1000), 10, body=5, padding=3)
def test_error_with_too_high_page_number(self): with self.assertRaises(django_paginator.EmptyPage): DiggPaginator(range(1, 1000), 10, body=5).page(999)
def test_combine_trailing_range_2(self): p = DiggPaginator(range(1, 1000), 10, body=6, padding=2, margin=2).page(97) self.assertEqual(p.number, 97) self.assertEqual(p.page_range, [1, 2, False, 95, 96, 97, 98, 99, 100])
def test_left_align_mode_2(self): p = DiggPaginator(range(1, 1000), 10, body=5, align_left=True).page(50) self.assertEqual(p.number, 50) self.assertEqual(p.page_range, [1, 2, False, 48, 49, 50, 51, 52])
def test_left_align_mode_4(self): p = DiggPaginator(range(1, 1000), 10, body=5, align_left=True).page(100) self.assertEqual(p.number, 100) self.assertEqual(p.page_range, [1, 2, False, 96, 97, 98, 99, 100])
def test_left_align_mode_1(self): p = DiggPaginator(range(1, 1000), 10, body=5, align_left=True).page(1) self.assertEqual(p.number, 1) self.assertEqual(p.page_range, [1, 2, 3, 4, 5])
def test_no_leading_or_trainling_ranges_3(self): p = DiggPaginator(range(1, 12), 10, body=5).page(1) self.assertEqual(p.number, 1) self.assertEqual(p.page_range, [1, 2])
def test_no_leading_or_trainling_ranges_2(self): p = DiggPaginator(range(1, 80), 10, body=10).page(8) self.assertEqual(p.number, 8) self.assertEqual(p.page_range, [1, 2, 3, 4, 5, 6, 7, 8])
def test_combine_leading_range_5(self): p = DiggPaginator(range(1, 1000), 10, body=5, padding=1, margin=2).page(7) self.assertEqual(p.number, 7) self.assertEqual(p.page_range, [1, 2, False, 5, 6, 7, 8, 9, False, 99, 100])
def test_default_padding(self): self.assertEqual(4, DiggPaginator(range(1, 1000), 10, body=10).padding)
def test_page_string(self): p = DiggPaginator(range(1, 1000), 10, body=5).page(1) self.assertEqual(str(p), '1 2 3 4 5 ... 99 100')
def test_automatic_padding_reduction_2(self): self.assertEqual(2, DiggPaginator(range(1, 1000), 10, body=6).padding)
def test_combine_trailing_range_4(self): p = DiggPaginator(range(1, 1000), 10, body=5, padding=2, margin=2).page(94) self.assertEqual(p.number, 94) self.assertEqual(p.page_range, [1, 2, False, 92, 93, 94, 95, 96, False, 99, 100])
def test_error_with_string_page_number(self): with self.assertRaises(django_paginator.PageNotAnInteger): DiggPaginator(range(1, 1000), 10, body=5).page('foo')