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."
|
"Validates the given 1-based page number."
|
||||||
try:
|
try:
|
||||||
number = int(number)
|
number = int(number)
|
||||||
except ValueError:
|
except (TypeError, ValueError):
|
||||||
raise PageNotAnInteger('That page number is not an integer')
|
raise PageNotAnInteger('That page number is not an integer')
|
||||||
if number < 1:
|
if number < 1:
|
||||||
raise EmptyPage('That page number is less than 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
|
from django.utils.unittest import TestCase
|
||||||
|
|
||||||
class PaginatorTests(TestCase):
|
class PaginatorTests(TestCase):
|
||||||
|
@ -27,6 +27,15 @@ class PaginatorTests(TestCase):
|
||||||
"For '%s', expected %s but got %s. Paginator parameters were: %s"
|
"For '%s', expected %s but got %s. Paginator parameters were: %s"
|
||||||
% (name, expected, got, params))
|
% (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):
|
def test_paginator(self):
|
||||||
"""
|
"""
|
||||||
Tests the paginator attributes using varying inputs.
|
Tests the paginator attributes using varying inputs.
|
||||||
|
|
Loading…
Reference in New Issue