diff options
author | Ben Sturmfels <ben@sturm.com.au> | 2016-08-07 21:48:52 +1000 |
---|---|---|
committer | Boris Bobrov <breton@cynicmansion.ru> | 2016-09-16 09:24:56 +0300 |
commit | 58b3a65e53c70d6e0bffb8645cb947e17773fc0f (patch) | |
tree | 575074d94f755f816d7d3d79ed9d9f1eabcf9a78 /mediagoblin/tests/test_tools.py | |
parent | d37c6f622a33fc3e0e37f84d1e90d287794d0a04 (diff) | |
download | mediagoblin-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.py | 31 |
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] |