mirror of https://github.com/django/django.git
Fixes Paginator.validate_number not raising a PageNotAnInteger exception when passed a non-int-castable type.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16026 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
3b6c5e5eb2
commit
13bb06984c
|
@ -22,7 +22,7 @@ class Paginator(object):
|
|||
"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')
|
||||
|
|
|
@ -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 @@ class PaginatorTests(TestCase):
|
|||
"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.
|
||||
|
|
Loading…
Reference in New Issue