diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-04-21 11:29:44 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-04-27 15:00:07 +0200 |
| commit | 324ae183534246fc2ae8f122cb7c40bdcf20d0ea (patch) | |
| tree | 0bc02044387f47e33fcf294dc2a793412941cca7 /tools/snippets_translate/tests | |
| parent | 1099bab042cdb31d312bc5502a7e80656092e879 (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.py | 34 |
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(): |
