From 8b63dc8fa35354cbdf189adfa8b71e72eda94d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Sat, 29 Nov 2014 19:02:53 +0100 Subject: [PATCH] Bug tg-1668 #closed - Convert relative links to absolute links --- taiga/mdrender/extensions/wikilinks.py | 39 +++++++++++++++++++++++--- tests/integration/test_mdrender.py | 2 +- tests/unit/test_mdrender.py | 18 ++++++------ 3 files changed, 46 insertions(+), 13 deletions(-) diff --git a/taiga/mdrender/extensions/wikilinks.py b/taiga/mdrender/extensions/wikilinks.py index b7f169b5..9eedbbcf 100644 --- a/taiga/mdrender/extensions/wikilinks.py +++ b/taiga/mdrender/extensions/wikilinks.py @@ -17,10 +17,13 @@ from markdown import Extension from markdown.inlinepatterns import Pattern +from markdown.treeprocessors import Treeprocessor + from markdown.util import etree from taiga.front import resolve +import re class WikiLinkExtension(Extension): def __init__(self, project, *args, **kwargs): @@ -29,14 +32,18 @@ class WikiLinkExtension(Extension): def extendMarkdown(self, md, md_globals): WIKILINK_RE = r"\[\[([\w0-9_ -]+)(\|[\w0-9_ -]+)?\]\]" - wikilinkPattern = WikiLinksPattern(WIKILINK_RE, self.project) - wikilinkPattern.md = md - md.inlinePatterns.add("wikilink", wikilinkPattern, " @user1

" + expected_result = "

@user1

" assert result == expected_result diff --git a/tests/unit/test_mdrender.py b/tests/unit/test_mdrender.py index c1ec53d2..a31b749c 100644 --- a/tests/unit/test_mdrender.py +++ b/tests/unit/test_mdrender.py @@ -97,14 +97,6 @@ def test_render_wiki_strike(): assert render(dummy_project, "~~test~~") == "

test

" -def test_render_absolute_link(): - assert render(dummy_project, "[test](/test)") == "

test

" - - -def test_render_relative_link(): - assert render(dummy_project, "[test](test)") == "

test

" - - def test_render_wikilink(): expected_result = "

test

" assert render(dummy_project, "[[test]]") == expected_result @@ -115,6 +107,16 @@ def test_render_wikilink_with_custom_title(): assert render(dummy_project, "[[test|custom]]") == expected_result +def test_render_wikilink_slug_to_wikipages(): + expected_result = "

wiki

" + assert render(dummy_project, "[wiki](wiki_page \"wiki page\")") == expected_result + + +def test_render_wikilink_relative_to_absolute(): + expected_result = "

test project

" + assert render(dummy_project, "[test project](/project/test/)") == expected_result + + def test_render_reference_links(): expected_result = "

An example of reference link

" source = "An [example][id] of reference link\n [id]: http://example.com/ \"Title\""