45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
import pytest
|
|
from unit.script.conftest import single_variable_output
|
|
|
|
from ytdl_sub.script.script import Script
|
|
|
|
|
|
class TestNumericFunctions:
|
|
@pytest.mark.parametrize(
|
|
"values, expected_output",
|
|
[
|
|
("'ow', 'lower'", []),
|
|
("'.*ow.*', 'lower'", ["lower"]),
|
|
("'.*(ow).*', 'lower'", ["lower", "ow"]),
|
|
("'(.*)(ow)(.*)', 'lower'", ["lower", "l", "ow", "er"]),
|
|
],
|
|
)
|
|
def test_regex_match(self, values: str, expected_output: str):
|
|
output = single_variable_output(f"{{%regex_match({values})}}")
|
|
assert output == expected_output
|
|
|
|
@pytest.mark.parametrize(
|
|
"values, expected_output",
|
|
[
|
|
("'ow', 'lower'", ["lower"]),
|
|
("'.*ow.*', 'lower'", ["lower"]),
|
|
("'.*(ow).*', 'lower'", ["lower", "ow"]),
|
|
("'(.*)(ow)(.*)', 'lower'", ["lower", "l", "ow", "er"]),
|
|
],
|
|
)
|
|
def test_regex_search(self, values: str, expected_output: str):
|
|
output = single_variable_output(f"{{%regex_search({values})}}")
|
|
assert output == expected_output
|
|
|
|
@pytest.mark.parametrize(
|
|
"values, expected_output",
|
|
[
|
|
("'ow', 'lower'", []),
|
|
("'.*ow.*', 'lower'", ["lower"]),
|
|
("'.*(ow).*', 'lower'", ["lower", "ow"]),
|
|
("'(.*)(ow)(.*)', 'lower'", ["lower", "l", "ow", "er"]),
|
|
],
|
|
)
|
|
def test_regex_fullmatch(self, values: str, expected_output: str):
|
|
output = single_variable_output(f"{{%regex_fullmatch({values})}}")
|
|
assert output == expected_output
|