Add Python 3 support in pagination.
This issue was visible when attempting to view the home page of a MediaGoblin site with more than a single page worth of items, under Python 3.
This commit is contained in:
committed by
Boris Bobrov
parent
d37c6f622a
commit
58b3a65e53
@@ -16,10 +16,16 @@
|
||||
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
try:
|
||||
import mock
|
||||
except ImportError:
|
||||
import unittest.mock as mock
|
||||
|
||||
from werkzeug.wrappers import Request
|
||||
from werkzeug.test import EnvironBuilder
|
||||
|
||||
from mediagoblin.tools.request import decode_request
|
||||
from mediagoblin.tools.pagination import Pagination
|
||||
|
||||
class TestDecodeRequest(object):
|
||||
"""Test the decode_request function."""
|
||||
@@ -59,3 +65,28 @@ class TestDecodeRequest(object):
|
||||
request.form = {'foo': 'bar'}
|
||||
data = decode_request(request)
|
||||
assert data['foo'] == 'bar'
|
||||
|
||||
|
||||
class TestPagination(object):
|
||||
def setup(self):
|
||||
mock_cursor = mock.MagicMock()
|
||||
mock_cursor.count.return_value = 1
|
||||
self.paginator = Pagination(1, mock_cursor)
|
||||
|
||||
def test_creates_valid_page_url_from_explicit_base_url(self):
|
||||
"""Check that test_page_url_explicit runs.
|
||||
|
||||
This is a regression test for a Python 2/3 compatibility fix.
|
||||
|
||||
"""
|
||||
url = self.paginator.get_page_url_explicit(
|
||||
'http://example.com', [], 1)
|
||||
assert url == 'http://example.com?page=1'
|
||||
|
||||
def test_iter_pages_handes_single_page(self):
|
||||
"""Check that iter_pages produces the expected result for single page.
|
||||
|
||||
This is a regression test for a Python 2/3 compatibility fix.
|
||||
|
||||
"""
|
||||
assert list(self.paginator.iter_pages()) == [1]
|
||||
|
||||
Reference in New Issue
Block a user