def test_orphans(self): request = Request.blank('/?page=10') # without boundaries, should be 11 pages paginator = Paginator(request=request, count=105, limit=10) self.assertEqual(paginator.pages_count, 11) self.assertEqual(paginator.page, 10) self.assertEqual(paginator.slice(range(105)), range(90, 100)) # using orphans, count=105, orphans = 5, should be 10 pages paginator = Paginator(request=request, count=105, orphans=5, limit=10) self.assertEqual(paginator.pages_count, 10) self.assertEqual(paginator.page, 10) self.assertEqual(paginator.slice(range(105)), range(90, 105)) paginator.items = paginator.slice(range(105)) self.assertEqual(list(paginator.enumerate()), zip(range(91, 106), range(90, 105))) # using orphans, count=106, orphans = 5, should be 11 pages paginator = Paginator(request=request, count=106, orphans=5, limit=10) self.assertEqual(paginator.pages_count, 11) self.assertEqual(paginator.page, 10) self.assertEqual(paginator.slice(range(106)), range(90, 100)) paginator.items = paginator.slice(range(106)) self.assertEqual(list(paginator.enumerate()), zip(range(91, 101), range(90, 100)))
def test_orphans(self): request = Request.blank('/?page=10') # without boundaries, should be 11 pages paginator = Paginator(request=request, count=105, limit=10) self.assertEqual(paginator.pages_count, 11) self.assertEqual(paginator.page, 10) self.assertEqual(paginator.slice(range(105)), range(90, 100)) # using orphans, count=105, orphans = 5, should be 10 pages paginator = Paginator(request=request, count=105, orphans=5, limit=10) self.assertEqual(paginator.pages_count, 10) self.assertEqual(paginator.page, 10) self.assertEqual(paginator.slice(range(105)), range(90, 105)) paginator.items = paginator.slice(range(105)) # XXX write a list of items self.assertEqual(list(paginator.enumerate()), list(zip(range(91, 106), range(90, 105)))) # using orphans, count=106, orphans = 5, should be 11 pages paginator = Paginator(request=request, count=106, orphans=5, limit=10) self.assertEqual(paginator.pages_count, 11) self.assertEqual(paginator.page, 10) self.assertEqual(paginator.slice(range(106)), range(90, 100)) paginator.items = paginator.slice(range(106)) self.assertEqual(list(paginator.enumerate()), list(zip(range(91, 101), range(90, 100))))
def test_enumerate(self): paginator = Paginator(limit=4, count=6, request=Request.blank('/news?p=2'), page_param='p') paginator.items = paginator.slice(range(6)) self.assertEqual(list(paginator.enumerate()), [ (5, 4), (6, 5), ])