summaryrefslogtreecommitdiff
path: root/tests/pagination
diff options
context:
space:
mode:
authorSami J. Lehtinen <sjl@iki.fi>2017-04-06 13:01:04 +0300
committerTim Graham <timograham@gmail.com>2017-09-06 14:17:19 -0400
commit407c1249c9a0296ec8a8d95e447bd695ca471b5e (patch)
treea181ef463ae796575f0c507bd80b3a9d5d6b79d4 /tests/pagination
parent5b1c389603a353625ae1603ba345147356336afb (diff)
downloaddjango-407c1249c9a0296ec8a8d95e447bd695ca471b5e.tar.gz
Fixed #28032 -- Added Paginator.get_page().
Moved boilerplate from docs to a method.
Diffstat (limited to 'tests/pagination')
-rw-r--r--tests/pagination/tests.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/pagination/tests.py b/tests/pagination/tests.py
index 530f908027..05fad4f67c 100644
--- a/tests/pagination/tests.py
+++ b/tests/pagination/tests.py
@@ -242,6 +242,38 @@ class PaginationTests(unittest.TestCase):
"""
self.assertIsInstance(Paginator([1, 2, 3], 2).page_range, type(range(0)))
+ def test_get_page(self):
+ """
+ Paginator.get_page() returns a valid page even with invalid page
+ arguments.
+ """
+ paginator = Paginator([1, 2, 3], 2)
+ page = paginator.get_page(1)
+ self.assertEqual(page.number, 1)
+ self.assertEqual(page.object_list, [1, 2])
+ # An empty page returns the last page.
+ self.assertEqual(paginator.get_page(3).number, 2)
+ # Non-integer page returns the first page.
+ self.assertEqual(paginator.get_page(None).number, 1)
+
+ def test_get_page_empty_object_list(self):
+ """Paginator.get_page() with an empty object_list."""
+ paginator = Paginator([], 2)
+ # An empty page returns the last page.
+ self.assertEqual(paginator.get_page(1).number, 1)
+ self.assertEqual(paginator.get_page(2).number, 1)
+ # Non-integer page returns the first page.
+ self.assertEqual(paginator.get_page(None).number, 1)
+
+ def test_get_page_empty_object_list_and_allow_empty_first_page_false(self):
+ """
+ Paginator.get_page() raises EmptyPage if allow_empty_first_page=False
+ and object_list is empty.
+ """
+ paginator = Paginator([], 2, allow_empty_first_page=False)
+ with self.assertRaises(EmptyPage):
+ paginator.get_page(1)
+
class ModelPaginationTests(TestCase):
"""