aboutsummaryrefslogtreecommitdiffstats
path: root/tools/snippets_translate/tests
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-03-28 15:23:40 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-03-28 15:59:39 +0200
commitf9ed8662794d14b995b53c73ee18693a114e9773 (patch)
tree93b861d21e901678332d3df5e14c5712d8651f7d /tools/snippets_translate/tests
parenta587de6ca1658286eba55ee37a9d64f6ad530d30 (diff)
snippets_translate: Implement rudimentary switch() handling
Pick-to: 6.5 Task-number: PYSIDE-1106 Change-Id: If19ac5a962aed846e4a127c652a9bae277999807 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'tools/snippets_translate/tests')
-rw-r--r--tools/snippets_translate/tests/test_converter.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/snippets_translate/tests/test_converter.py b/tools/snippets_translate/tests/test_converter.py
index 15c42cebc..3620313e4 100644
--- a/tools/snippets_translate/tests/test_converter.py
+++ b/tools/snippets_translate/tests/test_converter.py
@@ -4,6 +4,11 @@
from converter import snippet_translate as st
+def multi_st(lines):
+ result = [st(l) for l in lines.split("\n")]
+ return "\n".join(result)
+
+
def test_comments():
assert st("// This is a comment") == "# This is a comment"
assert st("// double slash // inside") == "# double slash // inside"
@@ -438,6 +443,35 @@ def test_lambdas():
pass
+def test_switch_case():
+ source = """switch (v) {
+case 1:
+ f1();
+ break;
+case 2:
+ f2();
+ break;
+default:
+ f3();
+ break;
+}
+"""
+ expected = """
+if v == 1:
+ f1()
+ break
+elif v == 2:
+ f2()
+ break
+else:
+ f3()
+ break
+
+"""
+
+ assert multi_st(source) == expected
+
+
def test_std_function():
# std::function<QImage(const QImage &)> scale = [](const QImage &img) {
pass