diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-26 12:48:36 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-08-12 17:24:05 +0100 |
commit | d45908e24292a41ff7838366b34be7340bf9fda5 (patch) | |
tree | 8ff13569a5946137794f3ec3f6eadacf1407556e /tests/auto/gui/text | |
parent | a1609d1603bfaeaa54f691f994c458a6a27e5229 (diff) |
Support missing white-space:pre-line CSS
A mode that only preserves new lines.
Change-Id: I612347b181c6e6c41dfae0cf60b22a662cba1b7e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto/gui/text')
-rw-r--r-- | tests/auto/gui/text/qcssparser/tst_qcssparser.cpp | 29 | ||||
-rw-r--r-- | tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp | 14 |
2 files changed, 39 insertions, 4 deletions
diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp index 7dbeb13aa7..7764a716ca 100644 --- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp +++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp @@ -78,6 +78,8 @@ private slots: void extractBorder(); void noTextDecoration(); void quotedAndUnquotedIdentifiers(); + void whitespaceValues_data(); + void whitespaceValues(); }; void tst_QCssParser::scanner_data() @@ -1746,6 +1748,33 @@ void tst_QCssParser::quotedAndUnquotedIdentifiers() QCOMPARE(decls.at(1).d->values.first().toString(), QLatin1String("bold")); } +void tst_QCssParser::whitespaceValues_data() +{ + QTest::addColumn<QString>("value"); + + QTest::newRow("normal") << "normal"; + QTest::newRow("inherit") << "inherit"; + QTest::newRow("nowrap") << "nowrap"; + QTest::newRow("pre") << "pre"; + QTest::newRow("pre-wrap") << "pre-wrap"; + QTest::newRow("pre-line") << "pre-line"; +} + +void tst_QCssParser::whitespaceValues() +{ + QFETCH(QString, value); + QCss::Parser parser(QString("foo { white-space: %1 }").arg(value)); + QCss::StyleSheet sheet; + QVERIFY(parser.parse(&sheet)); + + QCss::StyleRule rule = (!sheet.styleRules.isEmpty()) ? + sheet.styleRules.at(0) : *sheet.nameIndex.begin(); + QCOMPARE(rule.declarations.size(), 1); + + QCOMPARE(rule.declarations.at(0).d->property, QLatin1String("white-space")); + QCOMPARE(rule.declarations.at(0).d->values.first().toString(), value); +} + QTEST_MAIN(tst_QCssParser) #include "tst_qcssparser.moc" diff --git a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp index 664ca98a3f..c5243d1535 100644 --- a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp +++ b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp @@ -1272,11 +1272,11 @@ void tst_QTextDocumentFragment::html_whitespace_data() QTest::newRow("2") << QString("<span> </span><span>nowhitespacehereplease</span>") << QString::fromLatin1("nowhitespacehereplease"); - QTest::newRow("3") << QString("<span style=\"white-space: pre;\"> white space here </span>") - << QString::fromLatin1(" white space here "); + QTest::newRow("3") << QString("<span style=\"white-space: pre;\"> white space \n\n here </span>") + << QString::fromLatin1(" white space \n\n here "); - QTest::newRow("4") << QString("<span style=\"white-space: pre-wrap;\"> white space here </span>") - << QString::fromLatin1(" white space here "); + QTest::newRow("4") << QString("<span style=\"white-space: pre-wrap;\"> white space \n\n here </span>") + << QString::fromLatin1(" white space \n\n here "); QTest::newRow("5") << QString("<a href=\"One.html\">One</a> <a href=\"Two.html\">Two</a> <b>Three</b>\n" "<b>Four</b>") @@ -1291,6 +1291,12 @@ void tst_QTextDocumentFragment::html_whitespace_data() QTest::newRow("8") << QString("<table><tr><td><i>Blah</i></td></tr></table> <i>Blub</i>") << QString("\nBlah\nBlub"); + QTest::newRow("9") << QString("<span style=\"white-space: nowrap;\"> white space \n\n here </span>") + << QString::fromLatin1("white space here "); + + QTest::newRow("10") << QString("<span style=\"white-space: pre-line;\"> white space \n\n here </span>") + << QString::fromLatin1("white space\n\nhere "); + QTest::newRow("task116492") << QString("<p>a<font=\"Times\"> b </font>c</p>") << QString("a b c"); |