aboutsummaryrefslogtreecommitdiffstats
path: root/tools/snippets_translate/tests/test_snippets.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/snippets_translate/tests/test_snippets.py')
-rw-r--r--tools/snippets_translate/tests/test_snippets.py105
1 files changed, 69 insertions, 36 deletions
diff --git a/tools/snippets_translate/tests/test_snippets.py b/tools/snippets_translate/tests/test_snippets.py
index 6c451c84e..84897d815 100644
--- a/tools/snippets_translate/tests/test_snippets.py
+++ b/tools/snippets_translate/tests/test_snippets.py
@@ -1,7 +1,10 @@
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-from main import get_snippets, get_snippet_ids
+from main import _get_snippets, get_snippet_ids, CPP_SNIPPET_PATTERN
+
+
+C_COMMENT = "//"
def test_stacking():
@@ -12,13 +15,23 @@ def test_stacking():
"//! [C] //! [A] ",
"//! [B] //! [D] //! [E]",
]
- snippets = get_snippets(lines)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 5
- assert len(snippets[0]) == 4 # A starts at line 0 and ends at line 3
- assert len(snippets[1]) == 5 # B starts at line 0 and ends at line 4
- assert len(snippets[2]) == 3 # C starts at line 1 and ends at line 3
- assert len(snippets[3]) == 4 # D starts at line 1 and ends at line 4
- assert len(snippets[4]) == 4 # E starts at line 1 and ends at line 4
+
+ snippet_a = snippets["A"]
+ assert len(snippet_a) == 4 # A starts at line 0 and ends at line 3
+
+ snippet_b = snippets["B"]
+ assert len(snippet_b) == 5 # B starts at line 0 and ends at line 4
+
+ snippet_c = snippets["C"]
+ assert len(snippet_c) == 3 # C starts at line 1 and ends at line 3
+
+ snippet_d = snippets["D"]
+ assert len(snippet_d) == 4 # D starts at line 1 and ends at line 4
+
+ snippet_e = snippets["E"]
+ assert len(snippet_e) == 4 # E starts at line 1 and ends at line 4
def test_nesting():
@@ -31,71 +44,91 @@ def test_nesting():
"//! [C]",
"//! [B]",
]
- snippets = get_snippets(lines)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 3
- assert len(snippets[0]) == 5
- assert snippets[0] == lines[:5]
+ snippet_a = snippets["A"]
+ assert len(snippet_a) == 5
+ assert snippet_a == lines[:5]
- assert len(snippets[1]) == 6
- assert snippets[1] == lines[1:]
+ snippet_b = snippets["B"]
+ assert len(snippet_b) == 6
+ assert snippet_b == lines[1:]
- assert len(snippets[2]) == 4
- assert snippets[2] == lines[2:6]
+ snippet_c = snippets["C"]
+ assert len(snippet_c) == 4
+ assert snippet_c == lines[2:6]
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)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 3
- assert len(snippets[0]) == 4
- assert snippets[0] == lines[1:5]
+ # Simple snippet ID lines are generated
+ snippet_a = snippets["A"]
+ assert len(snippet_a) == 4
+ assert snippet_a == lines[1:4] + [a_id]
- assert len(snippets[1]) == 7
- assert snippets[1] == lines[3:]
+ snippet_c = snippets["C"]
+ assert len(snippet_c) == 7
+ assert snippet_c == lines[3:]
- assert len(snippets[2]) == 4
- assert snippets[2] == lines[4:8]
+ snippet_b = snippets["B"]
+ assert len(snippet_b) == 4
+ 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)
+ snippets = _get_snippets(lines, C_COMMENT, CPP_SNIPPET_PATTERN)
assert len(snippets) == 2
- assert len(snippets[0]) == 3
- assert snippets[0] == lines[1:4]
+ snippet_a = snippets["A"]
+
+ assert len(snippet_a) == 3
+ assert snippet_a == lines[1:3] + [a_id]
- assert len(snippets[1]) == 4
- assert snippets[1] == lines[3:7]
+ snippet_b = snippets["B"]
+ assert len(snippet_b) == 4
+ assert snippet_b == [b_id] + lines[4:7]
def test_snippet_ids():
- assert get_snippet_ids("") == []
- assert get_snippet_ids("//! ") == [] # Invalid id
- assert get_snippet_ids("//! [some name]") == ["some name"]
- assert get_snippet_ids("//! [some name] [some other name]") == ["some name"]
- assert get_snippet_ids("//! [some name] //! ") == ["some name"] # Invalid id
- assert get_snippet_ids("//! [some name] //! [some other name]") == ["some name", "some other name"]
+ assert get_snippet_ids("", CPP_SNIPPET_PATTERN) == []
+ assert get_snippet_ids("//! ",
+ CPP_SNIPPET_PATTERN) == [] # Invalid id
+ assert get_snippet_ids("//! [some name]",
+ CPP_SNIPPET_PATTERN) == ["some name"]
+ assert get_snippet_ids("//! [some name] [some other name]",
+ CPP_SNIPPET_PATTERN) == ["some name"]
+ assert get_snippet_ids("//! [some name] //! ",
+ CPP_SNIPPET_PATTERN) == ["some name"] # Invalid id
+ assert get_snippet_ids("//! [some name] //! [some other name]",
+ CPP_SNIPPET_PATTERN) == ["some name", "some other name"]