Commit e79574ef authored by Volker Krause's avatar Volker Krause
Browse files

Remove some more styling from disruption notes

parent 90feaeb9
......@@ -100,11 +100,14 @@ private Q_SLOTS:
QTest::newRow("full url") << s("Check-in here: http://www.kde.org") << s("Check-in here: <a href=\"http://www.kde.org\">http://www.kde.org</a>");
QTest::newRow("existing link") << s("Check-in here: <a href=\"http://www.kde.org\">http://www.kde.org</a>") << s("Check-in here: <a href=\"http://www.kde.org\">http://www.kde.org</a>");
QTest::newRow("missing scheme") << s("Check-in here: www.kde.org/donate") << s("Check-in here: <a href=\"https://www.kde.org/donate\">www.kde.org/donate</a>");
QTest::newRow("too much html") << s("<p><span style=\"color: rgb(37, 48, 59); font-family: &quot;Open Sans&quot;, Arial, sans-serif; font-size: 14px;\"><b>Attention</b></span></p><p><span style=\"color: rgb(37, 48, 59); font-family: &quot;Open Sans&quot;, Arial, sans-serif; font-size: 14px;\">Les lignes de&nbsp;BUS DIRECT ne sont pas accessibles avec un pass Navigo. Un ticket peut être acheté dans toutes les stations Métro-RER, y compris à l'aéroport.</span></p>") << s("<p><b>Attention</b></p><p>Les lignes de&nbsp;BUS DIRECT ne sont pas accessibles avec un pass Navigo. Un ticket peut être acheté dans toutes les stations Métro-RER, y compris à l'aéroport.</p>");
QTest::newRow("too much html") << s("<p><span style=\"color: rgb(37, 48, 59); font-family: &quot;Open Sans&quot;, Arial, sans-serif; font-size: 14px;\"><b>Attention</b></span></p><p><span style=\"color: rgb(37, 48, 59); font-family: &quot;Open Sans&quot;, Arial, sans-serif; font-size: 14px;\">Les lignes de&nbsp;BUS DIRECT ne sont pas accessibles avec un pass Navigo. Un ticket peut être acheté dans toutes les stations Métro-RER, y compris à l'aéroport.</span></p>") << s("<p><b>Attention</b></p><p>Les lignes de BUS DIRECT ne sont pas accessibles avec un pass Navigo. Un ticket peut être acheté dans toutes les stations Métro-RER, y compris à l'aéroport.</p>");
QTest::newRow("empty p 1") << s("foo <p> </p>bar") << s("foo bar");
QTest::newRow("empty p 2") << s("foo <p></p>bar") << s("foo bar");
QTest::newRow("linebreak 1") << s("foo<br/></p>") << s("foo</p>");
QTest::newRow("linebreak 2") << s("foo <p><br></p>bar") << s("foo bar");
QTest::newRow("style stripping") << s(" &nbsp;\n<p style=\"font-family: MetaWeb-Normal, sans-serif; font-size: 12px; font-variant-numeric: normal; font-variant-east-asian: normal; background-color: #ffffff; color: #666666; line-height: 1.5; margin: 0px 0px 0.5em; padding: 0px;\">Die Hauptstra&szlig;e wird von der Einm&uuml;ndung Otto-Hahn-Stra&szlig;e bis einschlie&szlig;lich Rathausplatz komplett saniert.") << s("<p>Die Hauptstra&szlig;e wird von der Einm&uuml;ndung Otto-Hahn-Stra&szlig;e bis einschlie&szlig;lich Rathausplatz komplett saniert.");
QTest::newRow("leading spaces") << s(" &nbsp; Wegen Bauarbeiten") << s("Wegen Bauarbeiten");
}
void testRichText()
......
......@@ -16,6 +16,7 @@ using namespace KPublicTransport;
QString NotesUtil::normalizeNote(const QString &note)
{
auto n = note;
n.replace(QLatin1String("&nbsp;"), QLatin1String(" "));
n.replace(QLatin1String(" "), QLatin1String(" "));
if (!note.contains(QLatin1String("href"))) { // only mess with rich text if this isn't marked up already
......@@ -32,6 +33,8 @@ QString NotesUtil::normalizeNote(const QString &note)
// strip <span> tags
static QRegularExpression spanExp(QStringLiteral("</?span[^>]*>"));
n.remove(spanExp);
static QRegularExpression styleAttrExp(QStringLiteral(" style=\"[^>\"]*\""));
n.remove(styleAttrExp);
// clean up extra line breaks and empty paragraphs
static QRegularExpression leadinBrExp(QStringLiteral("<p> *<br[^>]*>"));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment