[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