summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChris Hennes <chennes@gmail.com>2022-02-06 11:17:38 -0600
committerChris Hennes <chennes@gmail.com>2022-02-11 09:40:36 -0600
commit8d4ba0a8abbf93d82af6719db386f0a4d377e197 (patch)
tree8722b198567cf5fddef2e2b86059eca8e5d02d6c /tests
parent50e1590fa502da3ba46f984d18b3619d4f70af3c (diff)
downloadqttools-8d4ba0a8abbf93d82af6719db386f0a4d377e197.tar.gz
Support trailing commas for Python in lupdate
Python syntax allows trailing commas in function calls, so lupdate is updated to support that syntax during extraction. Fixes: QTBUG-100310 Change-Id: I26037883b0b24778a511a7ae3a5e392464dfe8c0 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsepython/main.py30
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsepython/project.ts.result36
2 files changed, 66 insertions, 0 deletions
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsepython/main.py b/tests/auto/linguist/lupdate/testdata/good/parsepython/main.py
index ec7ecf552..6375ff4da 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsepython/main.py
+++ b/tests/auto/linguist/lupdate/testdata/good/parsepython/main.py
@@ -37,6 +37,36 @@ class Window(QMainWindow):
message = self.tr("%n language(s) selected", "", count)
self.statusBar().showMessage(message)
+ def test_translate_trailing_comma_behavior(self):
+ self.translate("CONTEXT",
+ "SOME TEXT, NO COMMENT, TRAILING COMMA",
+ )
+ self.translate("CONTEXT",
+ "SOME TEXT",
+ "A COMMENT, NO TRAILING COMMA"
+ )
+ self.translate("CONTEXT",
+ "SOME MORE TEXT",
+ "A COMMENT WITH A TRAILING COMMA",
+ )
+ self.translate("CONTEXT",
+ "EVEN MORE TEXT",
+ "A COMMENT WITH PLURALIZATION",
+ 42
+ )
+ self.translate("CONTEXT",
+ "YET MORE TEXT",
+ "A COMMENT WITH PLURALIZATION AND A TRAILING COMMA",
+ 42,
+ )
+ self.translate("CONTEXT",
+ "SOME TEXT, SHOULD NOT BE EXTRACTED",
+ "A COMMENT WITH PLURALIZATION AND A TRAILING COMMA AND GARBAGE",
+ 42,
+ "THIS SHOULD NOT WORK"
+ )
+
+
if __name__ == '__main__':
app = QApplication(sys.argv)
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsepython/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsepython/project.ts.result
index 629b0a72b..f081bc23a 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsepython/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/parsepython/project.ts.result
@@ -2,6 +2,42 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
+ <name>CONTEXT</name>
+ <message>
+ <location filename="main.py" line="44"/>
+ <source>SOME TEXT, NO COMMENT, TRAILING COMMA</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.py" line="48"/>
+ <source>SOME TEXT</source>
+ <comment>A COMMENT, NO TRAILING COMMA</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.py" line="52"/>
+ <source>SOME MORE TEXT</source>
+ <comment>A COMMENT WITH A TRAILING COMMA</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.py" line="57"/>
+ <source>EVEN MORE TEXT</source>
+ <comment>A COMMENT WITH PLURALIZATION</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="main.py" line="62"/>
+ <source>YET MORE TEXT</source>
+ <comment>A COMMENT WITH PLURALIZATION AND A TRAILING COMMA</comment>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+</context>
+<context>
<name>Window</name>
<message>
<location filename="main.py" line="17"/>