aboutsummaryrefslogtreecommitdiffstats
path: root/tools/snippets_translate/tests
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-04-21 11:29:44 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-04-27 15:00:07 +0200
commit324ae183534246fc2ae8f122cb7c40bdcf20d0ea (patch)
tree0bc02044387f47e33fcf294dc2a793412941cca7 /tools/snippets_translate/tests
parent1099bab042cdb31d312bc5502a7e80656092e879 (diff)
snippets_translate: Fix repetitive snippet ID lines
When writing consecutive snippets like // [1] line1 // [1] [2] line2 // [2] the line "// [1] [2]" would appear twice as end marker of snippet 1 and start marker of snippet 2, causing QtXmlToSphinx to extract an empty snippet for [2]. Fix by reconstructing the ID lines to use one ID per line. Task-number: PYSIDE-1106 Pick-to: 6.5 Change-Id: I0d7c0b30ff6bcc51c7d9ea6c9bfc844316a41c67 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'tools/snippets_translate/tests')
-rw-r--r--tools/snippets_translate/tests/test_snippets.py34
1 files changed, 22 insertions, 12 deletions
diff --git a/tools/snippets_translate/tests/test_snippets.py b/tools/snippets_translate/tests/test_snippets.py
index 3c29fcbf5..84897d815 100644
--- a/tools/snippets_translate/tests/test_snippets.py
+++ b/tools/snippets_translate/tests/test_snippets.py
@@ -4,6 +4,9 @@
from main import _get_snippets, get_snippet_ids, CPP_SNIPPET_PATTERN
+C_COMMENT = "//"
+
+
def test_stacking():
lines = [
"//! [A] //! [B] ",
@@ -12,7 +15,7 @@ def test_stacking():
"//! [C] //! [A] ",
"//! [B] //! [D] //! [E]",
]
- snippets = _get_snippets(lines, CPP_SNIPPET_PATTERN)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 5
snippet_a = snippets["A"]
@@ -41,7 +44,7 @@ def test_nesting():
"//! [C]",
"//! [B]",
]
- snippets = _get_snippets(lines, CPP_SNIPPET_PATTERN)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 3
snippet_a = snippets["A"]
@@ -58,24 +61,27 @@ def test_nesting():
def test_overlapping():
+ a_id = "//! [A]"
+ b_id = "//! [B]"
lines = [
"pretext",
- "//! [A]",
+ a_id,
"l1",
"//! [C]",
"//! [A] //! [B]",
"l2",
"l3 // Comment",
- "//! [B]",
+ b_id,
"posttext",
"//! [C]",
]
- snippets = _get_snippets(lines, CPP_SNIPPET_PATTERN)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 3
+ # Simple snippet ID lines are generated
snippet_a = snippets["A"]
assert len(snippet_a) == 4
- assert snippet_a == lines[1:5]
+ assert snippet_a == lines[1:4] + [a_id]
snippet_c = snippets["C"]
assert len(snippet_c) == 7
@@ -83,31 +89,35 @@ def test_overlapping():
snippet_b = snippets["B"]
assert len(snippet_b) == 4
- assert snippet_b == lines[4:8]
+ assert snippet_b == [b_id] + lines[5:8]
def test_snippets():
+ a_id = "//! [A]"
+ b_id = "//! [B]"
+
lines = [
"pretext",
- "//! [A]",
+ a_id,
"l1",
"//! [A] //! [B]",
"l2",
"l3 // Comment",
- "//! [B]",
+ b_id,
"posttext"
]
- snippets = _get_snippets(lines, CPP_SNIPPET_PATTERN)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 2
snippet_a = snippets["A"]
+
assert len(snippet_a) == 3
- assert snippet_a == lines[1:4]
+ assert snippet_a == lines[1:3] + [a_id]
snippet_b = snippets["B"]
assert len(snippet_b) == 4
- assert snippet_b == lines[3:7]
+ assert snippet_b == [b_id] + lines[4:7]
def test_snippet_ids():