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\""