Author: SmileyChris
Date: 2011-04-13 04:28:42 -0700 (Wed, 13 Apr 2011)
New Revision: 16026
Modified:
django/trunk/django/core/paginator.py
django/trunk/tests/regressiontests/pagination_regress/tests.py
Log:
Fixes Paginator.validate_number not raising a PageNotAnInteger exception when
passed a non-int-castable type.
Modified: django/trunk/django/core/paginator.py
===================================================================
--- django/trunk/django/core/paginator.py 2011-04-11 21:48:47 UTC (rev
16025)
+++ django/trunk/django/core/paginator.py 2011-04-13 11:28:42 UTC (rev
16026)
@@ -22,7 +22,7 @@
"Validates the given 1-based page number."
try:
number = int(number)
- except ValueError:
+ except (TypeError, ValueError):
raise PageNotAnInteger('That page number is not an integer')
if number < 1:
raise EmptyPage('That page number is less than 1')
Modified: django/trunk/tests/regressiontests/pagination_regress/tests.py
===================================================================
--- django/trunk/tests/regressiontests/pagination_regress/tests.py
2011-04-11 21:48:47 UTC (rev 16025)
+++ django/trunk/tests/regressiontests/pagination_regress/tests.py
2011-04-13 11:28:42 UTC (rev 16026)
@@ -1,4 +1,4 @@
-from django.core.paginator import Paginator, EmptyPage
+from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.utils.unittest import TestCase
class PaginatorTests(TestCase):
@@ -27,6 +27,15 @@
"For '%s', expected %s but got %s. Paginator parameters were: %s"
% (name, expected, got, params))
+ def test_invalid_page_number(self):
+ """
+ Tests that invalid page numbers result in the correct exception being
+ raised.
+ """
+ paginator = Paginator([1, 2, 3], 2)
+ self.assertRaises(PageNotAnInteger, paginator.validate_number, None)
+ self.assertRaises(PageNotAnInteger, paginator.validate_number, 'x')
+
def test_paginator(self):
"""
Tests the paginator attributes using varying inputs.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.