[silva.core.editor][Sylvain Viollon] Remove target if it is empty.
[email protected] Tue, 22 Oct 2013 11:21:26 +0200
| Newsgroups | gmane.comp.web.zope.silva.cvs |
|---|---|
| Message-ID | <[email protected]> |
author: Sylvain Viollon
date: Tue Oct 22 11:21:20 2013 +0200
revision: 271:290e9735b310 in silva.core.editor
branch:
details: https://hg.infrae.com/silva.core.editor?cmd=changeset;node=290e9735b310
modified: src/silva/core/editor/tests/test_transform_input_link.py src/silva/core/editor/transform/editor/output.py
added:
removed:
log: Remove target if it is empty.
diffstat:
src/silva/core/editor/tests/test_transform_input_link.py | 42 ++++++++++++++++
src/silva/core/editor/transform/editor/output.py | 6 ++
2 files changed, 48 insertions(+), 0 deletions(-)
diffs (68 lines):
diff -r 56b8af58c8db -r 290e9735b310 src/silva/core/editor/tests/test_transform_input_link.py
--- a/src/silva/core/editor/tests/test_transform_input_link.py Tue Oct 15 15:42:34 2013 +0200
+++ b/src/silva/core/editor/tests/test_transform_input_link.py Tue Oct 22 11:21:20 2013 +0200
@@ -231,6 +231,48 @@
</p>
""")
+ def test_external_link_empty_target(self):
+ """Even though you can't input them through the U.I you can
+ have links with an empty target attribute. That is not valid
+ and should be removed.
+ """
+ intern_format = self.transform(
+ """
+<p>
+ <a class="link"
+ href="javascript:void(0)"
+ title="Silva"
+ target=""
+ data-silva-url=" http://silvacms.org ">
+ <i>To Silva</i></a>
+</p>
+""", ISaveEditorFilter)
+
+ self.assertXMLEqual(
+ intern_format,
+"""
+<p>
+ <a class="link"
+ title="Silva"
+ href="http://silvacms.org"><i>To Silva</i></a>
+</p>
+""")
+ # And changing it back to the editor format.
+ extern_format = self.transform(
+ intern_format,
+ IInputEditorFilter)
+ self.assertXMLEqual(
+ extern_format,
+ """
+<p>
+ <a class="link"
+ title="Silva"
+ href="javascript:void(0)"
+ data-silva-url="http://silvacms.org">
+ <i>To Silva</i></a>
+</p>
+""")
+
def test_anchor_link(self):
"""On input, an external link is slightly modified.
"""
diff -r 56b8af58c8db -r 290e9735b310 src/silva/core/editor/transform/editor/output.py
--- a/src/silva/core/editor/transform/editor/output.py Tue Oct 15 15:42:34 2013 +0200
+++ b/src/silva/core/editor/transform/editor/output.py Tue Oct 22 11:21:20 2013 +0200
@@ -158,6 +158,12 @@
if 'broken-link' in classes:
classes.remove('broken-link')
link.attrib['class'] = ' '.join(classes)
+ if 'target' in link.attrib:
+ target = link.attrib['target'].strip()
+ if target:
+ link.attrib['target'] = target
+ else:
+ del link.attrib['target']
if 'href' in link.attrib:
del link.attrib['href']
if 'data-silva-reference' in link.attrib: