ytdl-sub/tests/unit/script/functions/test_conditional_functions.py
2023-12-13 14:23:04 -08:00

35 lines
1,006 B
Python

import pytest
from ytdl_sub.script.script import Script
class TestConditionalFunction:
@pytest.mark.parametrize(
"function_str, expected_output",
[
("{%if(True, True, False)}", True),
("{%if(False, True, False)}", False),
],
)
def test_if_function(self, function_str: str, expected_output: bool):
output = Script({"output": function_str}).resolve(update=True).get("output").native
assert output == expected_output
def test_nested_if_function(self):
function_str = """{
%if(
True,
%if(
True,
%if(
True,
"winner",
True
),
True
),
True
)
}"""
output = Script({"output": function_str}).resolve(update=True).get("output").native
assert output == "winner"