diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2021-10-12 13:38:44 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2021-10-12 19:14:47 +0200 |
commit | dd96e919c1a69f40329c5b6a33029ab559636397 (patch) | |
tree | 4b50475b2245bacdbedc90dd775112e4abc7a617 /tests/auto/qml/debugger | |
parent | a5f0361622eb08eab6c3474d5fc249d1962e3d1e (diff) |
Qmldebugtranslator: report elide issues correctly inside layouts
Task-number: QTBUG-96991
Pick-to: 6.2
Change-Id: I911044893fb6eac54c6fb8f2b236f422bd04a7ae
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'tests/auto/qml/debugger')
3 files changed, 49 insertions, 91 deletions
diff --git a/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp b/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp index 21c6b622f2..1c73eb8521 100644 --- a/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp +++ b/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp @@ -75,7 +75,7 @@ private slots: { QVersionedPacket<QQmlDebugConnector> packet; m_debugTranslationClient->sendMessage( - QQmlDebugTranslation::createMissingTranslationsRequest(packet)); + QQmlDebugTranslation::createTranslationIssuesRequest(packet)); QTRY_VERIFY(m_debugTranslationClient->translationIssues.size() > 0); } diff --git a/tests/auto/qml/debugger/qqmldebugtranslationservice/data/test.qml b/tests/auto/qml/debugger/qqmldebugtranslationservice/data/test.qml index 279153f283..1834ed3772 100644 --- a/tests/auto/qml/debugger/qqmldebugtranslationservice/data/test.qml +++ b/tests/auto/qml/debugger/qqmldebugtranslationservice/data/test.qml @@ -30,7 +30,7 @@ import QtQuick Rectangle { id: root - width: 200 + width: 130 height: 200 property int widthFactor: 7 @@ -68,15 +68,6 @@ Rectangle { } } - // this is necessary to have the test working for different font sizes and dpi settings - Text { - id: originHelloTextToGetTheNecessaryWidth - text: "short" - opacity: 0 - anchors.bottom: root.bottom - onWidthChanged: root.width = originHelloTextToGetTheNecessaryWidth.width * widthFactor - } - states: [ State { name: "BiggerFontState" @@ -96,10 +87,6 @@ Rectangle { font.pointSize: 20 } - PropertyChanges { - target: originHelloTextToGetTheNecessaryWidth - font.pointSize: 20 - } }, State { name: "WayBiggerFontState" @@ -118,11 +105,6 @@ Rectangle { target: text3 font.pointSize: 30 } - - PropertyChanges { - target: originHelloTextToGetTheNecessaryWidth - font.pointSize: 30 - } } ] } diff --git a/tests/auto/qml/debugger/qqmldebugtranslationservice/tst_qqmldebugtranslationservice.cpp b/tests/auto/qml/debugger/qqmldebugtranslationservice/tst_qqmldebugtranslationservice.cpp index f1d6fc6fa5..ddb9657000 100644 --- a/tests/auto/qml/debugger/qqmldebugtranslationservice/tst_qqmldebugtranslationservice.cpp +++ b/tests/auto/qml/debugger/qqmldebugtranslationservice/tst_qqmldebugtranslationservice.cpp @@ -84,24 +84,23 @@ private slots: QVERIFY(currentDebugServiceMessage().isEmpty()); } - void verifyMissingAllTranslationsForMissingLanguage() { changeLanguage("ru"); - auto missingTranslations = getMissingTranslations(); + auto translationIssues = getTranslationIssues(); - QCOMPARE(missingTranslations.length(), getTranslatableTextOccurrences().count()); - QCOMPARE(missingTranslations.at(0).language, "ru ru-RU ru-Cyrl-RU"); + QCOMPARE(translationIssues.length(), getTranslatableTextOccurrences().count()); + QCOMPARE(translationIssues.at(0).language, "ru ru-RU ru-Cyrl-RU"); } void verifyCorrectNumberOfMissingTranslations() { changeLanguage("fr"); - auto missingTranslations = getMissingTranslations(); + auto translationIssues = getTranslationIssues(); - QCOMPARE(missingTranslations.length(), 3); - QCOMPARE(missingTranslations.at(0).language, "fr fr-FR fr-Latn-FR"); + QCOMPARE(translationIssues.length(), 3); + QCOMPARE(translationIssues.at(0).language, "fr fr-FR fr-Latn-FR"); } void verifyCorrectNumberOfTranslatableTextOccurrences() @@ -114,79 +113,63 @@ private slots: QCOMPARE(getStates().length(), 2); } - void loopThroughAllStates() + void getElideWarnings() { - QVector<QmlState> stateList = getStates(); - - QCOMPARE(stateList.length(), 2); - - for (int i = 0; i < stateList.count(); i++) { - auto stateName = stateList.at(i).name; - QVersionedPacket<QQmlDebugConnector> packet; - sendMessageToService(createChangeStateRequest(packet, stateName)); - - QVersionedPacket<QQmlDebugConnector> readPacket(currentReply().at(0)); + QVersionedPacket<QQmlDebugConnector> packet; + sendMessageToService(createWatchTextElidesRequest(packet)); - Reply replyType; - QVector<QmlState> replyStateList; + changeLanguage("es"); + auto translationIssues = getTranslationIssues(); - QString changedStateName; - readPacket >> replyType >> changedStateName; - QCOMPARE(replyType, Reply::StateChanged); - QCOMPARE(stateName, changedStateName); + int elideWarningCount = 0; + for (auto issue : translationIssues) { + if (issue.type == TranslationIssue::Type::Elided) { + elideWarningCount++; + } } + QCOMPARE(elideWarningCount, 1); } - void getElideWarnings() + void getElideWarningsWhenStateChanged() { QVersionedPacket<QQmlDebugConnector> packet; sendMessageToService(createWatchTextElidesRequest(packet)); - changeLanguage("fr"); + changeLanguage("es"); - // after language changes, we get elide warnings - auto replies = currentReply(); - int elideCount = 0; + sendMessageToService(createChangeStateRequest(packet, "WayBiggerFontState")); - for (auto reply : replies) { - QVersionedPacket<QQmlDebugConnector> readPacket(reply); - TranslationIssue issue; - Reply replyType; + auto translationIssues = getTranslationIssues(); - readPacket >> replyType; - if (replyType == Reply::TextElided) { - readPacket >> issue; - QCOMPARE(issue.codeMarker.line, 47); - QCOMPARE(issue.language, "fr fr-FR fr-Latn-FR"); - elideCount++; + int elideWarningCount = 0; + for (auto issue : translationIssues) { + if (issue.type == TranslationIssue::Type::Elided) { + elideWarningCount++; } } + QCOMPARE(elideWarningCount, 1); } - void getElideWarningsWhenStateChanged() + void loopThroughAllStates() { - QVersionedPacket<QQmlDebugConnector> packet; - sendMessageToService(createWatchTextElidesRequest(packet)); + QVector<QmlState> stateList = getStates(); - changeLanguage("fr"); + QCOMPARE(stateList.length(), 2); - const QString stateName("BiggerFontState"); - sendMessageToService(createChangeStateRequest(packet, stateName)); + for (int i = 0; i < stateList.count(); i++) { + auto stateName = stateList.at(i).name; + QVersionedPacket<QQmlDebugConnector> packet; + sendMessageToService(createChangeStateRequest(packet, stateName)); - auto replies = currentReply(); + QVersionedPacket<QQmlDebugConnector> readPacket(currentReply().at(0)); - int elideCount = 0; - for (auto reply : replies) { - QVersionedPacket<QQmlDebugConnector> readPacket(reply); - TranslationIssue issue; Reply replyType; + QVector<QmlState> replyStateList; - readPacket >> replyType; - if (replyType == Reply::TextElided) { - readPacket >> issue; - QCOMPARE(issue.codeMarker.line, 47); - elideCount++; - } + QString changedStateName; + readPacket >> replyType >> changedStateName; + QCOMPARE(replyType, Reply::StateChanged); + QCOMPARE(stateName, changedStateName); } } @@ -231,18 +214,18 @@ private: // QTest::qWait(500); } - QVector<TranslationIssue> getMissingTranslations() + QVector<TranslationIssue> getTranslationIssues() { QVersionedPacket<QQmlDebugConnector> packet; - sendMessageToService(createMissingTranslationsRequest(packet)); + sendMessageToService(createTranslationIssuesRequest(packet)); QVersionedPacket<QQmlDebugConnector> readPacket(currentReply().at(0)); Reply replyType; - QVector<TranslationIssue> missingTranslations; + QVector<TranslationIssue> translationIssues; readPacket >> replyType; - readPacket >> missingTranslations; + readPacket >> translationIssues; - return missingTranslations; + return translationIssues; } QByteArray debugServiceMessage(const QByteArray &data) @@ -323,12 +306,10 @@ private: return "LanguageChanged"; case Reply::StateChanged: return "StateChanged"; - case Reply::MissingTranslations: - return "MissingTranslations"; + case Reply::TranslationIssues: + return "TranslationIssues"; case Reply::TranslatableTextOccurrences: return "TranslatableTextOccurrences"; - case Reply::TextElided: - return "TextElided"; default: Q_ASSERT_X(false, "not implemented", "not implemented"); } @@ -341,7 +322,7 @@ private: QVersionedPacket<QQmlDebugConnector> readPacket(message); readPacket >> replyType; debugString.append(replyTypeToString(replyType)); - if (replyType == Reply::MissingTranslations) { + if (replyType == Reply::TranslationIssues) { QVector<TranslationIssue> translationIssues; readPacket >> translationIssues; QStringList translationIssueStrings; @@ -356,11 +337,6 @@ private: debugString.append(translationIssuesString.arg(QString::number(translationIssues.size()), translationIssueStrings.join("; "))); } - if (replyType == Reply::TextElided) { - TranslationIssue translationIssue; - readPacket >> translationIssue; - debugString.append(QString(" %1 ").arg(translationIssue.toDebugString())); - } } return debugString; } |