|
@@ -10,46 +10,70 @@ class PostsPaginatorTests(TestCase):
|
|
|
|
|
|
paginator = PostsPaginator(items, 5)
|
|
paginator = PostsPaginator(items, 5)
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
- [1, 2, 3, 4, 5, 6],
|
|
|
|
- [6, 7, 8, 9, 10, 11],
|
|
|
|
- [11, 12, 13, 14, 15, 16],
|
|
|
|
- [16, 17, 18, 19, 20, 21],
|
|
|
|
- [21, 22, 23, 24, 25, 26],
|
|
|
|
- [26, 27, 28, 29, 30],
|
|
|
|
|
|
+ [1, 2, 3, 4, 5],
|
|
|
|
+ [5, 6, 7, 8, 9],
|
|
|
|
+ [9, 10, 11, 12, 13],
|
|
|
|
+ [13, 14, 15, 16, 17],
|
|
|
|
+ [17, 18, 19, 20, 21],
|
|
|
|
+ [21, 22, 23, 24, 25],
|
|
|
|
+ [25, 26, 27, 28, 29],
|
|
|
|
+ [29, 30],
|
|
])
|
|
])
|
|
|
|
|
|
def test_paginator_orphans(self):
|
|
def test_paginator_orphans(self):
|
|
"""paginator handles orphans"""
|
|
"""paginator handles orphans"""
|
|
- items = [i + 1 for i in range(20)]
|
|
|
|
|
|
+ items = [i + 1 for i in range(16)]
|
|
|
|
|
|
paginator = PostsPaginator(items, 8, 6)
|
|
paginator = PostsPaginator(items, 8, 6)
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
- [1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
|
|
- [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
|
|
|
|
|
+ [1, 2, 3, 4, 5, 6, 7, 8],
|
|
|
|
+ [8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
|
|
+ ])
|
|
|
|
+
|
|
|
|
+ paginator = PostsPaginator(items, 4, 4)
|
|
|
|
+ self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
|
|
+ [1, 2, 3, 4],
|
|
|
|
+ [4, 5, 6, 7],
|
|
|
|
+ [7, 8, 9, 10],
|
|
|
|
+ [10, 11, 12, 13, 14, 15, 16],
|
|
|
|
+ ])
|
|
|
|
+
|
|
|
|
+ paginator = PostsPaginator(items, 5, 3)
|
|
|
|
+ self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
|
|
+ [1, 2, 3, 4, 5],
|
|
|
|
+ [5, 6, 7, 8, 9],
|
|
|
|
+ [9, 10, 11, 12, 13, 14, 15, 16],
|
|
])
|
|
])
|
|
|
|
|
|
- paginator = PostsPaginator(items, 8, 5)
|
|
|
|
- self.assertEqual(paginator.num_pages, 2)
|
|
|
|
|
|
+ paginator = PostsPaginator(items, 6, 2)
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
- [1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
|
|
- [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
|
|
|
|
|
+ [1, 2, 3, 4, 5, 6],
|
|
|
|
+ [6, 7, 8, 9, 10, 11],
|
|
|
|
+ [11, 12, 13, 14, 15, 16],
|
|
])
|
|
])
|
|
|
|
|
|
- paginator = PostsPaginator(items, 9, 3)
|
|
|
|
- self.assertEqual(paginator.num_pages, 2)
|
|
|
|
|
|
+ paginator = PostsPaginator(items, 7, 1)
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
|
|
- [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
|
|
|
|
|
+ [1, 2, 3, 4, 5, 6, 7],
|
|
|
|
+ [7, 8, 9, 10, 11, 12, 13],
|
|
|
|
+ [13, 14, 15, 16],
|
|
])
|
|
])
|
|
|
|
|
|
|
|
+ paginator = PostsPaginator(items, 7, 3)
|
|
|
|
+ self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
|
|
+ [1, 2, 3, 4, 5, 6, 7],
|
|
|
|
+ [7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
|
|
+ ])
|
|
|
|
+
|
|
|
|
+ paginator = PostsPaginator(items, 10, 6)
|
|
|
|
+ self.assertEqual(self.get_paginator_items_list(paginator), [items])
|
|
|
|
+
|
|
# regression test for #732
|
|
# regression test for #732
|
|
items = [i + 1 for i in range(24)]
|
|
items = [i + 1 for i in range(24)]
|
|
|
|
|
|
paginator = PostsPaginator(items, 18, 6)
|
|
paginator = PostsPaginator(items, 18, 6)
|
|
self.assertEqual(paginator.num_pages, 1)
|
|
self.assertEqual(paginator.num_pages, 1)
|
|
- self.assertEqual(self.get_paginator_items_list(paginator), [
|
|
|
|
- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
|
|
|
|
- ])
|
|
|
|
|
|
+ self.assertEqual(self.get_paginator_items_list(paginator), [items])
|
|
|
|
|
|
# extra tests for catching issues in excessively long datasets
|
|
# extra tests for catching issues in excessively long datasets
|
|
paginator = PostsPaginator([i + 1 for i in range(144)], 14, 6)
|
|
paginator = PostsPaginator([i + 1 for i in range(144)], 14, 6)
|