Kaynağa Gözat

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

master
ebeveyn
işleme
db88a7bbff
2 değiştirilmiş dosya ile 19 ekleme ve 1 silme
  1. +3
    -1
      calculate/templates/template_filters.py
  2. +16
    -0
      tests/templates/test_template_filters.py

+ 3
- 1
calculate/templates/template_filters.py Dosyayı Görüntüle

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


+ 16
- 0
tests/templates/test_template_filters.py Dosyayı Görüntüle

@@ -1,6 +1,10 @@
import pytest
import calculate.templates.template_filters as filters

class TestObj:
def __str__(self):
return "TestObj_value"

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


Yükleniyor…
İptal
Kaydet