aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tests/test_tools.py
diff options
context:
space:
mode:
authorBen Sturmfels <ben@sturm.com.au>2016-08-07 21:48:52 +1000
committerBoris Bobrov <breton@cynicmansion.ru>2016-09-16 09:24:56 +0300
commit58b3a65e53c70d6e0bffb8645cb947e17773fc0f (patch)
tree575074d94f755f816d7d3d79ed9d9f1eabcf9a78 /mediagoblin/tests/test_tools.py
parentd37c6f622a33fc3e0e37f84d1e90d287794d0a04 (diff)
downloadmediagoblin-58b3a65e53c70d6e0bffb8645cb947e17773fc0f.tar.lz
mediagoblin-58b3a65e53c70d6e0bffb8645cb947e17773fc0f.tar.xz
mediagoblin-58b3a65e53c70d6e0bffb8645cb947e17773fc0f.zip
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.
Diffstat (limited to 'mediagoblin/tests/test_tools.py')
-rw-r--r--mediagoblin/tests/test_tools.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/mediagoblin/tests/test_tools.py b/mediagoblin/tests/test_tools.py
index 6d3dd475..30232e24 100644
--- a/mediagoblin/tests/test_tools.py
+++ b/mediagoblin/tests/test_tools.py
@@ -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]