You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2012/12/07 23:26:36 UTC
[48/49] git commit: [#5314] ticket:219 check red links
[#5314] ticket:219 check red links
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/cde64430
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/cde64430
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/cde64430
Branch: refs/heads/db/4803
Commit: cde64430bb54e21884cb6347d7013a15551cca89
Parents: 50cc989
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Mon Nov 26 15:27:15 2012 +0400
Committer: Tim Van Steenburgh <tv...@gmail.com>
Committed: Tue Nov 27 21:03:34 2012 +0000
----------------------------------------------------------------------
Allura/allura/lib/markdown_extensions.py | 11 ++++++++++-
ForgeWiki/forgewiki/tests/functional/test_root.py | 14 ++++++++++++--
2 files changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/cde64430/Allura/allura/lib/markdown_extensions.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/markdown_extensions.py b/Allura/allura/lib/markdown_extensions.py
index 6ef4b68..b34aa6a 100644
--- a/Allura/allura/lib/markdown_extensions.py
+++ b/Allura/allura/lib/markdown_extensions.py
@@ -104,9 +104,18 @@ class ForgeLinkPattern(markdown.inlinepatterns.LinkPattern):
if shortlink:
href = shortlink.url
self.ext.forge_link_tree_processor.alinks.append(shortlink)
- elif self.ext._use_wiki and ':' not in link:
+ elif self.ext._use_wiki and is_link_with_brackets:
href = h.urlquote(link)
classes += ' notfound'
+ attach_link = link.split('/attachment/')
+ if len(attach_link) == 2 and self.ext._use_wiki:
+ shortlink = M.Shortlink.lookup(attach_link[0])
+ if shortlink:
+ attach_status = ' notfound'
+ for attach in shortlink.ref.artifact.attachments:
+ if attach.filename == attach_link[1]:
+ attach_status = ''
+ classes += attach_status
return href, classes
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/cde64430/ForgeWiki/forgewiki/tests/functional/test_root.py
----------------------------------------------------------------------
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index 3375b6d..cb48574 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -467,11 +467,15 @@ class TestRootController(TestController):
* Here is a link to [Some page which does not exist]
* Here is a link to [space page]
* Here is a link to [space%20page]
+* Here is a link to [another attach](TEST/attachment/attach.txt)
+* Here is a link to [attach](TEST/attachment/test_root.py)
''',
'labels':'',
'labels_old':'',
'viewable_by-0.id':'all'}
self.app.post('/wiki/TEST/update', params=params)
+ content = file(__file__).read()
+ self.app.post('/wiki/TEST/attach', upload_files=[('file_info', 'test_root.py', content)])
r = self.app.get('/wiki/TEST/')
found_links = 0
for link in r.html.findAll('a'):
@@ -479,7 +483,7 @@ class TestRootController(TestController):
assert 'notfound' not in link.get('class', '')
found_links +=1
if link.contents == ['another page']:
- assert 'notfound' in link.get('class', '')
+ assert 'notfound' not in link.get('class', '')
found_links +=1
if link.contents == ['space page space']:
assert 'notfound' not in link.get('class', '')
@@ -499,7 +503,13 @@ class TestRootController(TestController):
if link.contents == ['[space%20page]']:
assert 'notfound' not in link.get('class', '')
found_links +=1
- assert found_links == 8, 'Wrong number of links found'
+ if link.contents == ['another attach']:
+ assert 'notfound' in link.get('class', '')
+ found_links +=1
+ if link.contents == ['attach']:
+ assert 'notfound' not in link.get('class', '')
+ found_links +=1
+ assert found_links == 10, 'Wrong number of links found'
def test_home_rename(self):
assert 'The resource was found at http://localhost/p/test/wiki/Home/;' in self.app.get('/p/test/wiki/')