summaryrefslogtreecommitdiffstats
path: root/hyperkitty/tests
diff options
context:
space:
mode:
Diffstat (limited to 'hyperkitty/tests')
-rw-r--r--hyperkitty/tests/test_lib.py52
1 files changed, 51 insertions, 1 deletions
diff --git a/hyperkitty/tests/test_lib.py b/hyperkitty/tests/test_lib.py
index fb560ae..b24f5c4 100644
--- a/hyperkitty/tests/test_lib.py
+++ b/hyperkitty/tests/test_lib.py
@@ -23,7 +23,7 @@ import datetime
from django.test import TestCase
-from hyperkitty.lib import get_display_dates
+from hyperkitty.lib import get_display_dates, paginate
class GetDisplayDatesTestCase(TestCase):
@@ -45,3 +45,53 @@ class GetDisplayDatesTestCase(TestCase):
begin_date, end_date = get_display_dates('2012', '4', '2')
self.assertEqual(begin_date, datetime.datetime(2012, 4, 2))
self.assertEqual(end_date, datetime.datetime(2012, 4, 3))
+
+
+class PaginateTestCase(TestCase):
+
+ def test_page_range(self):
+ objects = range(1000)
+ self.assertEqual(paginate(objects, 1).page_range,
+ [1, 2, 3, 4, '...', 100])
+ self.assertEqual(paginate(objects, 2).page_range,
+ [1, 2, 3, 4, 5, '...', 100])
+ self.assertEqual(paginate(objects, 3).page_range,
+ [1, 2, 3, 4, 5, 6, '...', 100])
+ self.assertEqual(paginate(objects, 4).page_range,
+ [1, 2, 3, 4, 5, 6, 7, '...', 100])
+ self.assertEqual(paginate(objects, 5).page_range,
+ [1, 2, 3, 4, 5, 6, 7, 8, '...', 100])
+ self.assertEqual(paginate(objects, 6).page_range,
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, '...', 100])
+ self.assertEqual(paginate(objects, 7).page_range,
+ [1, '...', 4, 5, 6, 7, 8, 9, 10, '...', 100])
+ self.assertEqual(paginate(objects, 8).page_range,
+ [1, '...', 5, 6, 7, 8, 9, 10, 11, '...', 100])
+ self.assertEqual(paginate(objects, 9).page_range,
+ [1, '...', 6, 7, 8, 9, 10, 11, 12, '...', 100])
+ self.assertEqual(paginate(objects, 10).page_range,
+ [1, '...', 7, 8, 9, 10, 11, 12, 13, '...', 100])
+ self.assertEqual(paginate(objects, 40).page_range,
+ [1, '...', 37, 38, 39, 40, 41, 42, 43, '...', 100])
+ self.assertEqual(paginate(objects, 90).page_range,
+ [1, '...', 87, 88, 89, 90, 91, 92, 93, '...', 100])
+ self.assertEqual(paginate(objects, 91).page_range,
+ [1, '...', 88, 89, 90, 91, 92, 93, 94, '...', 100])
+ self.assertEqual(paginate(objects, 92).page_range,
+ [1, '...', 89, 90, 91, 92, 93, 94, 95, '...', 100])
+ self.assertEqual(paginate(objects, 93).page_range,
+ [1, '...', 90, 91, 92, 93, 94, 95, 96, '...', 100])
+ self.assertEqual(paginate(objects, 94).page_range,
+ [1, '...', 91, 92, 93, 94, 95, 96, 97, '...', 100])
+ self.assertEqual(paginate(objects, 95).page_range,
+ [1, '...', 92, 93, 94, 95, 96, 97, 98, 99, 100])
+ self.assertEqual(paginate(objects, 96).page_range,
+ [1, '...', 93, 94, 95, 96, 97, 98, 99, 100])
+ self.assertEqual(paginate(objects, 97).page_range,
+ [1, '...', 94, 95, 96, 97, 98, 99, 100])
+ self.assertEqual(paginate(objects, 98).page_range,
+ [1, '...', 95, 96, 97, 98, 99, 100])
+ self.assertEqual(paginate(objects, 99).page_range,
+ [1, '...', 96, 97, 98, 99, 100])
+ self.assertEqual(paginate(objects, 100).page_range,
+ [1, '...', 97, 98, 99, 100])