Добавлена обработка не строковых параметров для функции-фильтра cut

master
parent 7063d404a4
commit db88a7bbff

@ -3,7 +3,9 @@ def cut(instr: str, field_num: int = 0, delimiter: str = "-") -> str:
Разделить входную строку `instr` разделительем `delimiter` Разделить входную строку `instr` разделительем `delimiter`
и вернуть поле `field_num`. и вернуть поле `field_num`.
""" """
parts = instr.split(delimiter) if instr is None:
return ""
parts = str(instr).split(delimiter)
if field_num < len(parts): if field_num < len(parts):
return parts[field_num] return parts[field_num]
else: else:

@ -1,6 +1,10 @@
import pytest import pytest
import calculate.templates.template_filters as filters import calculate.templates.template_filters as filters
class TestObj:
def __str__(self):
return "TestObj_value"
@pytest.mark.parametrize('case', @pytest.mark.parametrize('case',
[ [
{ {
@ -9,6 +13,18 @@ import calculate.templates.template_filters as filters
"params": (), "params": (),
"result": "" "result": ""
}, },
{
"name": "none value",
"data": None,
"params": (),
"result": ""
},
{
"name": "obj value",
"data": TestObj(),
"params": (),
"result": "TestObj_value"
},
{ {
"name": "default", "name": "default",
"data": "123", "data": "123",

Loading…
Cancel
Save