diff options
author | Sami J. Lehtinen <sjl@iki.fi> | 2017-04-06 13:01:04 +0300 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-09-06 14:17:19 -0400 |
commit | 407c1249c9a0296ec8a8d95e447bd695ca471b5e (patch) | |
tree | a181ef463ae796575f0c507bd80b3a9d5d6b79d4 /tests/pagination | |
parent | 5b1c389603a353625ae1603ba345147356336afb (diff) | |
download | django-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.py | 32 |
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): """ |