From 0b356c32ab517bad0e7801ceab1ea9d99a9d259e Mon Sep 17 00:00:00 2001 From: Jan Arve Saether Date: Tue, 10 Mar 2015 13:29:51 +0100 Subject: lupdate: Remove wrong error message For qsTr(), when string is not literal we printed a warning saying "text to translate must be a literal string". This was not correct, as it has never been a requirement for the string to be a _literal_ string. The solution is to remove the message entirely. Task-number: QTBUG-42381 Change-Id: If08726143c810382feb0a1c5db5036d9601ce488 Reviewed-by: Oswald Buddenhagen --- src/linguist/lupdate/qdeclarative.cpp | 16 ++++------------ .../lupdate/testdata/good/parsejs2/expectedoutput.txt | 10 ---------- .../lupdate/testdata/good/parsejs4/expectedoutput.txt | 10 ---------- .../lupdate/testdata/good/parseqml2/expectedoutput.txt | 10 ---------- 4 files changed, 4 insertions(+), 42 deletions(-) diff --git a/src/linguist/lupdate/qdeclarative.cpp b/src/linguist/lupdate/qdeclarative.cpp index 24fab7435..ef5704ef9 100644 --- a/src/linguist/lupdate/qdeclarative.cpp +++ b/src/linguist/lupdate/qdeclarative.cpp @@ -109,10 +109,8 @@ protected: } QString source; - if (!createString(node->arguments->expression, &source)) { - yyMsg(identLineNo) << qPrintable(LU::tr("%1(): text to translate must be a literal string.\n").arg(name)); + if (!createString(node->arguments->expression, &source)) return; - } QString comment; bool plural = false; @@ -145,18 +143,14 @@ protected: } QString context; - if (!createString(node->arguments->expression, &context)) { - yyMsg(identLineNo) << qPrintable(LU::tr("%1(): both arguments must be literal strings.\n").arg(name)); + if (!createString(node->arguments->expression, &context)) return; - } AST::ArgumentList *sourceNode = node->arguments->next; // we know that it is a valid pointer. QString source; - if (!createString(sourceNode->expression, &source)) { - yyMsg(identLineNo) << qPrintable(LU::tr("%1(): both arguments must be literal strings.\n").arg(name)); + if (!createString(sourceNode->expression, &source)) return; - } if (!sourcetext.isEmpty()) yyMsg(identLineNo) << qPrintable(LU::tr("//% cannot be used with %1(). Ignoring\n").arg(name)); @@ -190,10 +184,8 @@ protected: } QString id; - if (!createString(node->arguments->expression, &id)) { - yyMsg(identLineNo) << qPrintable(LU::tr("%1(): identifier must be a literal string.\n").arg(name)); + if (!createString(node->arguments->expression, &id)) return; - } if (!msgid.isEmpty()) { yyMsg(identLineNo) << qPrintable(LU::tr("//= cannot be used with %1(). Ignoring\n").arg(name)); diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejs2/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/parsejs2/expectedoutput.txt index d6c977fa7..0d6ae31c9 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsejs2/expectedoutput.txt +++ b/tests/auto/linguist/lupdate/testdata/good/parsejs2/expectedoutput.txt @@ -1,21 +1,11 @@ .*/lupdate/testdata/good/parsejs2/main.js:3: qsTranslate\(\) requires at least two arguments. .*/lupdate/testdata/good/parsejs2/main.js:4: qsTranslate\(\) requires at least two arguments. -.*/lupdate/testdata/good/parsejs2/main.js:5: qsTranslate\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs2/main.js:6: qsTranslate\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs2/main.js:7: qsTranslate\(\): both arguments must be literal strings. .*/lupdate/testdata/good/parsejs2/main.js:9: QT_TRANSLATE_NOOP\(\) requires at least two arguments. .*/lupdate/testdata/good/parsejs2/main.js:10: QT_TRANSLATE_NOOP\(\) requires at least two arguments. -.*/lupdate/testdata/good/parsejs2/main.js:11: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs2/main.js:12: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs2/main.js:13: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. .*/lupdate/testdata/good/parsejs2/main.js:15: qsTr\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs2/main.js:16: qsTr\(\): text to translate must be a literal string. .*/lupdate/testdata/good/parsejs2/main.js:18: QT_TR_NOOP\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs2/main.js:19: QT_TR_NOOP\(\): text to translate must be a literal string. .*/lupdate/testdata/good/parsejs2/main.js:21: qsTrId\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs2/main.js:22: qsTrId\(\): identifier must be a literal string. .*/lupdate/testdata/good/parsejs2/main.js:24: QT_TRID_NOOP\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs2/main.js:25: QT_TRID_NOOP\(\): identifier must be a literal string. .*/lupdate/testdata/good/parsejs2/main.js:27: Unexpected character in meta string .*/lupdate/testdata/good/parsejs2/main.js:28: Unexpected character in meta string .*/lupdate/testdata/good/parsejs2/main.js:29: Unterminated meta string diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejs4/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/parsejs4/expectedoutput.txt index 62491a84b..768faced4 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsejs4/expectedoutput.txt +++ b/tests/auto/linguist/lupdate/testdata/good/parsejs4/expectedoutput.txt @@ -1,21 +1,11 @@ .*/lupdate/testdata/good/parsejs4/main.js:37: qsTranslate\(\) requires at least two arguments. .*/lupdate/testdata/good/parsejs4/main.js:38: qsTranslate\(\) requires at least two arguments. -.*/lupdate/testdata/good/parsejs4/main.js:39: qsTranslate\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs4/main.js:40: qsTranslate\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs4/main.js:41: qsTranslate\(\): both arguments must be literal strings. .*/lupdate/testdata/good/parsejs4/main.js:43: QT_TRANSLATE_NOOP\(\) requires at least two arguments. .*/lupdate/testdata/good/parsejs4/main.js:44: QT_TRANSLATE_NOOP\(\) requires at least two arguments. -.*/lupdate/testdata/good/parsejs4/main.js:45: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs4/main.js:46: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parsejs4/main.js:47: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. .*/lupdate/testdata/good/parsejs4/main.js:49: qsTr\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs4/main.js:50: qsTr\(\): text to translate must be a literal string. .*/lupdate/testdata/good/parsejs4/main.js:52: QT_TR_NOOP\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs4/main.js:53: QT_TR_NOOP\(\): text to translate must be a literal string. .*/lupdate/testdata/good/parsejs4/main.js:55: qsTrId\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs4/main.js:56: qsTrId\(\): identifier must be a literal string. .*/lupdate/testdata/good/parsejs4/main.js:58: QT_TRID_NOOP\(\) requires at least one argument. -.*/lupdate/testdata/good/parsejs4/main.js:59: QT_TRID_NOOP\(\): identifier must be a literal string. .*/lupdate/testdata/good/parsejs4/main.js:61: Unexpected character in meta string .*/lupdate/testdata/good/parsejs4/main.js:62: Unexpected character in meta string .*/lupdate/testdata/good/parsejs4/main.js:63: Unterminated meta string diff --git a/tests/auto/linguist/lupdate/testdata/good/parseqml2/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/parseqml2/expectedoutput.txt index 779b26883..d39af3f09 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parseqml2/expectedoutput.txt +++ b/tests/auto/linguist/lupdate/testdata/good/parseqml2/expectedoutput.txt @@ -1,21 +1,11 @@ .*/lupdate/testdata/good/parseqml2/main.qml:36: qsTranslate\(\) requires at least two arguments. .*/lupdate/testdata/good/parseqml2/main.qml:37: qsTranslate\(\) requires at least two arguments. -.*/lupdate/testdata/good/parseqml2/main.qml:38: qsTranslate\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parseqml2/main.qml:39: qsTranslate\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parseqml2/main.qml:40: qsTranslate\(\): both arguments must be literal strings. .*/lupdate/testdata/good/parseqml2/main.qml:42: QT_TRANSLATE_NOOP\(\) requires at least two arguments. .*/lupdate/testdata/good/parseqml2/main.qml:43: QT_TRANSLATE_NOOP\(\) requires at least two arguments. -.*/lupdate/testdata/good/parseqml2/main.qml:44: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parseqml2/main.qml:45: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. -.*/lupdate/testdata/good/parseqml2/main.qml:46: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings. .*/lupdate/testdata/good/parseqml2/main.qml:48: qsTr\(\) requires at least one argument. -.*/lupdate/testdata/good/parseqml2/main.qml:49: qsTr\(\): text to translate must be a literal string. .*/lupdate/testdata/good/parseqml2/main.qml:51: QT_TR_NOOP\(\) requires at least one argument. -.*/lupdate/testdata/good/parseqml2/main.qml:52: QT_TR_NOOP\(\): text to translate must be a literal string. .*/lupdate/testdata/good/parseqml2/main.qml:54: qsTrId\(\) requires at least one argument. -.*/lupdate/testdata/good/parseqml2/main.qml:55: qsTrId\(\): identifier must be a literal string. .*/lupdate/testdata/good/parseqml2/main.qml:57: QT_TRID_NOOP\(\) requires at least one argument. -.*/lupdate/testdata/good/parseqml2/main.qml:58: QT_TRID_NOOP\(\): identifier must be a literal string. .*/lupdate/testdata/good/parseqml2/main.qml:60: Unexpected character in meta string .*/lupdate/testdata/good/parseqml2/main.qml:61: Unexpected character in meta string .*/lupdate/testdata/good/parseqml2/main.qml:62: Unterminated meta string -- cgit v1.2.3