Mercurial > wikked
comparison tests/__init__.py @ 464:1dc6a0a74da3
wiki: Improve consistency of absolute/relative links.
- Make links from endpoint pages go to the same endpoint by default.
- Add support for `:` (empty) endpoint to link outside of endpoints.
- Add unit tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 06 Oct 2018 19:40:52 -0700 |
parents | 666a9d0981bb |
children | 0bfd648aca6a |
comparison
equal
deleted
inserted
replaced
463:fcef742731cf | 464:1dc6a0a74da3 |
---|---|
1 import os | 1 import os |
2 import os.path | 2 import os.path |
3 import urllib.request, urllib.parse, urllib.error | 3 import urllib.request, urllib.parse, urllib.error # noqa |
4 import shutil | 4 import shutil |
5 import unittest | 5 import unittest |
6 from wikked.wiki import Wiki | 6 from wikked.wiki import Wiki |
7 from wikked.db.sql import SQLDatabase | 7 from wikked.db.sql import SQLDatabase |
8 from .mock import MockWikiParameters, MockFileSystem | 8 from .mock import MockWikiParameters, MockFileSystem |
62 | 62 |
63 def _onWikiStarted(self, wiki): | 63 def _onWikiStarted(self, wiki): |
64 wiki.reset() | 64 wiki.reset() |
65 | 65 |
66 | 66 |
67 def format_link(title, url, missing=False, mod=None): | 67 def format_link(title, url, missing=False, mod=None, endpoint=None): |
68 res = '<a class=\"wiki-link' | 68 res = '<a class="wiki-link' |
69 if missing: | 69 if missing: |
70 res += ' missing' | 70 res += ' missing' |
71 res += '"' | |
72 | |
73 if endpoint: | |
74 url = '%s:%s' % (endpoint, url) | |
71 url = urllib.parse.quote(url) | 75 url = urllib.parse.quote(url) |
72 res += '\" data-wiki-url=\"' + url + '\"' | 76 res += ' data-wiki-url="%s"' % url |
77 | |
73 if mod: | 78 if mod: |
74 res += ' data-wiki-mod=\"' + mod + '\"' | 79 res += ' data-wiki-mod="%s"' % mod |
75 res += ' href="/read' + url + '"' | 80 |
81 if endpoint: | |
82 res += ' href="/read/%s"' % url | |
83 res += ' data-wiki-endpoint="%s"' % endpoint | |
84 else: | |
85 res += ' href="/read' + url + '"' | |
86 | |
76 res += '>' + title + '</a>' | 87 res += '>' + title + '</a>' |
77 return res | 88 return res |
78 | 89 |
79 | 90 |
80 def format_include(url, args=None, mod=None): | 91 def format_include(url, args=None, mod=None): |