[util] support not splitting "contains" value (#6773)

by passing any "false" value as 'separator' argument except None
This commit is contained in:
Mike Fährmann
2025-01-06 13:47:32 +01:00
parent a3b9cc7785
commit 770f41eb4a
2 changed files with 10 additions and 1 deletions

View File

@@ -83,7 +83,7 @@ def unique_sequence(iterable):
def contains(values, elements, separator=" "):
"""Returns True if at least one of 'elements' is contained in 'values'"""
if isinstance(values, str):
if isinstance(values, str) and (separator or separator is None):
values = values.split(separator)
if not isinstance(elements, (tuple, list)):

View File

@@ -459,6 +459,15 @@ class TestOther(unittest.TestCase):
self.assertFalse(util.contains(s, "tag1"))
self.assertFalse(util.contains(s, ["tag1", "tag2", "tag3"]))
self.assertTrue(util.contains(s, "(+)", ""))
self.assertTrue(util.contains(s, ["(-)", "(+)"], ""))
self.assertTrue(util.contains(s, "(+)", 0))
self.assertTrue(util.contains(s, "(+)", False))
self.assertFalse(util.contains(s, "(+)", None))
self.assertTrue(util.contains(s, "y(+)c", None))
self.assertTrue(util.contains(s, ["(-)", "(+)", "bar"], None))
s = "1, 2, 3, asd, qwe, y(+)c, f(+)(-), bar"
self.assertTrue(util.contains(s, "y(+)c", ", "))
self.assertTrue(util.contains(s, ["sdf", "dfg", "qwe"], ", "))