[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [trojita] /: HTML: ignore __duplicate__ formatting markers but /*preserve*/ stuff like this
From: Jan_Kundrát <jkt () flaska ! net>
Date: 2013-01-31 21:17:43
Message-ID: 20130131211743.2D686A6091 () git ! kde ! org
[Download RAW message or body]
Git commit 0eaa813a72ced2e1f3960ebd96a2290b1458a2bd by Jan Kundrát.
Committed on 31/01/2013 at 22:01.
Pushed by jkt into branch 'master'.
HTML: ignore __duplicate__ formatting markers but /*preserve*/ stuff like this
M +3 -3 src/Composer/PlainTextFormatter.cpp
M +16 -0 tests/tests/test_Composer_responses/test_Composer_responses.cpp
http://commits.kde.org/trojita/0eaa813a72ced2e1f3960ebd96a2290b1458a2bd
diff --git a/src/Composer/PlainTextFormatter.cpp \
b/src/Composer/PlainTextFormatter.cpp index 133fa8e..bfeb5f8 100644
--- a/src/Composer/PlainTextFormatter.cpp
+++ b/src/Composer/PlainTextFormatter.cpp
@@ -47,9 +47,9 @@ QString helperHtmlifySingleLine(QString line)
static const QRegExp mailRe("([\\w!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9\\.\\-_]+)");
static QString intro("(^|[\\s\\(\\[\\{])");
static QString extro("($|[\\s\\),;.\\]\\}])");
-#define TROJITA_RE_BOLD "\\*(\\S*)\\*"
-#define TROJITA_RE_ITALIC "/(\\S*)/"
-#define TROJITA_RE_UNDERLINE "_(\\S*)_"
+#define TROJITA_RE_BOLD "\\*((?!\\*)\\S+)\\*"
+#define TROJITA_RE_ITALIC "/((?!/)\\S+)/"
+#define TROJITA_RE_UNDERLINE "_((?!_)\\S+)_"
static const QRegExp boldRe(intro + TROJITA_RE_BOLD + extro);
static const QRegExp italicRe(intro + TROJITA_RE_ITALIC + extro);
static const QRegExp underlineRe(intro + TROJITA_RE_UNDERLINE + extro);
diff --git a/tests/tests/test_Composer_responses/test_Composer_responses.cpp \
b/tests/tests/test_Composer_responses/test_Composer_responses.cpp index \
5627f7d..77893f6 100644
--- a/tests/tests/test_Composer_responses/test_Composer_responses.cpp
+++ b/tests/tests/test_Composer_responses/test_Composer_responses.cpp
@@ -221,6 +221,22 @@ void \
ComposerResponsesTest::testPlainTextFormattingViaHtml_data()
"<a \
href=\"http://example.org/(*checkout*)/pwn\">http://example.org/(*checkout*)/pwn</a>\n"
"<b><span class=\"markup\">*</span><a \
href=\"https://domain.org/yay\">https://domain.org/yay</a><span \
class=\"markup\">*</span></b>");
+ QTest::newRow("just-underscores")
+ << QString::fromUtf8("___________")
+ << QString::fromUtf8("___________");
+
+ QTest::newRow("duplicated-formatters")
+ << QString::fromUtf8("__meh__ **blah** //boo//")
+ << QString::fromUtf8("__meh__ **blah** //boo//");
+
+ QTest::newRow("two-but-different")
+ << QString::fromUtf8("_/meh/_ *_blah_* /*boo*/")
+ << QString::fromUtf8("<u><span class=\"markup\">_</span><i><span \
class=\"markup\">/</span>meh" + "<span \
class=\"markup\">/</span></i><span class=\"markup\">_</span></u> " + \
"<b><span class=\"markup\">*</span><u><span class=\"markup\">_</span>blah" + \
"<span class=\"markup\">_</span></u><span class=\"markup\">*</span></b> " + \
"<i><span class=\"markup\">/</span><b><span class=\"markup\">*</span>boo" + \
"<span class=\"markup\">*</span></b><span class=\"markup\">/</span></i>"); }
WebRenderingTester::WebRenderingTester()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic