Example #1
0
 def test_existing_page_arg(self):
     """
     If the current page already has a page GET argument, override
     it.
     """
     request = Mock(GET=QueryDict('foo=bar&page=5'))
     url = urlparse.urlsplit(page_url(request, 4))
     args = urlparse.parse_qs(url.query)
     eq_(args, {'foo': ['bar'], 'page': ['4']})
Example #2
0
 def test_repeats(self):
     """
     GET parameters with multiple values should have all their
     values preserved
     """
     request = Mock(GET=QueryDict('foo=bar&baz=5&foo=ok'))
     url = urlparse.urlsplit(page_url(request, 4))
     args = urlparse.parse_qs(url.query)
     eq_(args, {'foo': ['bar', 'ok'], 'baz': ['5'], 'page': ['4']})
Example #3
0
    def test_basic(self):
        """
        page_url should return a relative link to the current page,
        preserving the GET arguments from the given request, and adding
        a page parameter for the given page.
        """

        request = Mock(GET=QueryDict('foo=bar&baz=5'))
        url = urlparse.urlsplit(page_url(request, 4))
        args = urlparse.parse_qs(url.query)
        eq_(args, {'foo': ['bar'], 'baz': ['5'], 'page': ['4']})