diff options
author | Shinichi Okada <shinichi.okada@qt.io> | 2020-11-17 14:15:50 +0900 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-11-23 10:03:55 +0100 |
commit | ea55537d8153195cfd11fd510abce4584c599db0 (patch) | |
tree | 9cd4d100a6e5f9f11f5514a405ad7dea52481cf1 /tests | |
parent | 702aa21390a2a76afcc95000eb63a80301f006a0 (diff) |
QML Text doesn't reset lineCount when text is empty
lineCount is not reset when replacing a multi-line QML Text 'text'
property with an "" empty string. Also, the lineCountChanged signal is
not emitted
Task-number: QTBUG-84458
Change-Id: Ic3c02e6a90e6675eadbaafc6af6ab0356ee98123
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit ae1b9c6d94001411efeef600e22638906e0fa990)
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/quick/qquicktext/tst_qquicktext.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicktext/tst_qquicktext.cpp b/tests/auto/quick/qquicktext/tst_qquicktext.cpp index 7a7e03c088..d1716c20da 100644 --- a/tests/auto/quick/qquicktext/tst_qquicktext.cpp +++ b/tests/auto/quick/qquicktext/tst_qquicktext.cpp @@ -2243,6 +2243,43 @@ void tst_qquicktext::lineCount() QCOMPARE(myText->lineCount(), 2); QCOMPARE(myText->truncated(), true); QCOMPARE(myText->maximumLineCount(), 2); + + // QTBUG-84458 + myText->resetMaximumLineCount(); + myText->setText("qqqqq\nqqqqq"); + QCOMPARE(myText->lineCount(), 2); + myText->setText("qqqqq\nqqqqq\nqqqqq"); + QCOMPARE(myText->lineCount(), 3); + myText->setText(""); + QCOMPARE(myText->lineCount(), 1); + + myText->setText("qqqqq\nqqqqq\nqqqqq"); + QCOMPARE(myText->lineCount(), 3); + myText->setFontSizeMode(QQuickText::HorizontalFit); + myText->setText(""); + QCOMPARE(myText->lineCount(), 1); + + myText->setText("qqqqq\nqqqqq\nqqqqq"); + QCOMPARE(myText->lineCount(), 3); + myText->setFontSizeMode(QQuickText::VerticalFit); + myText->setText(""); + QCOMPARE(myText->lineCount(), 1); + + myText->setText("qqqqq\nqqqqq\nqqqqq"); + QCOMPARE(myText->lineCount(), 3); + myText->setFontSizeMode(QQuickText::Fit); + myText->setText(""); + QCOMPARE(myText->lineCount(), 1); + + QScopedPointer<QQuickView> layoutWindow(createView(testFile("lineLayoutHAlign.qml"))); + QQuickText *lineLaidOut = layoutWindow->rootObject()->findChild<QQuickText*>("myText"); + QVERIFY(lineLaidOut != nullptr); + + lineLaidOut->setText("qqqqq\nqqqqq\nqqqqq"); + QCOMPARE(lineLaidOut->lineCount(), 3); + lineLaidOut->setFontSizeMode(QQuickText::FixedSize); + lineLaidOut->setText(""); + QCOMPARE(lineLaidOut->lineCount(), 1); } void tst_qquicktext::lineHeight() |