You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by gc...@apache.org on 2022/07/15 14:41:00 UTC
[allura] branch gc/8444 updated: [#8444] fixed failing tests and url param values not present in canonical link
This is an automated email from the ASF dual-hosted git repository.
gcruz pushed a commit to branch gc/8444
in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/gc/8444 by this push:
new bbd78c5c0 [#8444] fixed failing tests and url param values not present in canonical link
bbd78c5c0 is described below
commit bbd78c5c0dba10ed198cee3b36cacdfaa0935dfd
Author: Guillermo Cruz <gu...@slashdotmedia.com>
AuthorDate: Fri Jul 15 08:40:43 2022 -0600
[#8444] fixed failing tests and url param values not present in canonical link
---
Allura/allura/templates/jinja_master/lib.html | 10 ++++++----
ForgeTracker/forgetracker/tests/functional/test_root.py | 10 ++++++----
ForgeWiki/forgewiki/tests/functional/test_root.py | 12 +++++++-----
3 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/Allura/allura/templates/jinja_master/lib.html b/Allura/allura/templates/jinja_master/lib.html
index 027913e9c..5b2035dc4 100644
--- a/Allura/allura/templates/jinja_master/lib.html
+++ b/Allura/allura/templates/jinja_master/lib.html
@@ -888,14 +888,16 @@ This page is based on some examples from Greg Schueler, <a href="mailto:greg@var
{% macro canonical_tag() %}
{% set page= '?page=' ~ request.GET['page'] if 'page=' in request.query_string and request.GET['page']|int > 0 else '' %}
-<link rel="canonical" href="{{ request.host_url ~ request.path }}{{ page }}"/>
+<link rel="canonical" href="{{ h.querystring(request, dict(limit=None)) }}"/>
{% endmacro %}
{% macro pagination_meta_tags(request, current_page=None, results_count=None, limit=None) %}
{%- if current_page > 0 -%}
- <link rel="prev" href="{{ h.querystring(request, dict(page=current_page-1,limit=None)) }}"/>
+ <link rel="prev" href="{{ h.querystring(request, dict(page=current_page - 1,limit=None)) }}"/>
{% endif %}
- {% if results_count and current_page+1 < h.ceil(results_count/limit) -%}
- <link rel="next" href="{{ h.querystring(request, dict(page=current_page+1,limit=None)) }}"/>
+ {% set current_page = current_page + 1 %}
+ {% set total_pages = h.ceil(results_count/limit) %}
+ {% if results_count and current_page < total_pages -%}
+ <link rel="next" href="{{ h.querystring(request, dict(page=current_page,limit=None)) }}"/>
{% endif %}
{% endmacro %}
\ No newline at end of file
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index c42237a67..b03e85c10 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -1398,17 +1398,19 @@ class TestFunctionalController(TrackerTestController):
self.new_ticket(summary='test fourth ticket')
self.new_ticket(summary='test fifth ticket')
self.new_ticket(summary='test sixth ticket')
+ self.new_ticket(summary='test seventh ticket')
+ self.new_ticket(summary='test eighth ticket')
ThreadLocalORMSession.flush_all()
M.MonQTask.run_ready()
ThreadLocalORMSession.flush_all()
- response = self.app.get('/p/test/bugs/search/?q=test&limit=2')
+ response = self.app.get('/p/test/bugs/search/?q=test&limit=1')
canonical = response.html.select_one('link[rel=canonical]')
assert ('limit=2' not in canonical['href'])
- response = self.app.get('/p/test/bugs/search/?q=test&limit=2&page=3')
+ response = self.app.get('/p/test/bugs/search/?q=test&limit=2&page=2')
next = response.html.select_one('link[rel=next]')
- assert ('page=4' in next['href'])
+ assert ('page=3' in next['href'])
prev = response.html.select_one('link[rel=prev]')
- assert ('page=2' in prev['href'])
+ assert ('page=1' in prev['href'])
def test_search_with_strange_chars(self):
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index cf79c1748..fff7e9c67 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -32,6 +32,7 @@ from allura.tests import decorators as td
from alluratest.controller import TestController
from forgewiki import model
+from unittest.mock import MagicMock
class TestRootController(TestController):
@@ -90,6 +91,7 @@ class TestRootController(TestController):
for ext in ['', '.rss', '.atom']:
self.app.get('/wiki/feed%s' % ext, status=200)
+ @patch('allura.lib.helpers.ceil', MagicMock(return_value=1))
@patch('allura.lib.search.search')
def test_search(self, search):
r = self.app.get('/wiki/search/?q=test')
@@ -475,16 +477,16 @@ class TestRootController(TestController):
assert '(Page 1 of 4)' in r
assert '<td>label30</td>' in r
assert '<td>label1</td>' in r
- r = self.app.get('/wiki/browse_tags/?page=3')
- assert '<td>label77</td>' in r
- assert '<td>label99</td>' in r
+ r = self.app.get('/wiki/browse_tags/?page=2')
+ assert '<td>label69</td>' in r
+ assert '<td>label70</td>' in r
r.mustcontain('canonical')
canonical = r.html.select_one('link[rel=canonical]')
assert 'browse_tags' in canonical['href']
next = r.html.select_one('link[rel=next]')
- assert('page=4' in next['href'])
+ assert('page=3' in next['href'])
prev = r.html.select_one('link[rel=prev]')
- assert('page=2' in prev['href'])
+ assert('page=1' in prev['href'])
def test_new_attachment(self):
self.app.post(