20 lines
714 B
Python
20 lines
714 B
Python
from app.services.export_service import labels_to_text, safe_csv_field, safe_filename
|
|
|
|
|
|
def test_labels_to_text_joins_json_array_with_chinese_comma():
|
|
assert labels_to_text('["认可", "质量好"]') == "认可,质量好"
|
|
assert labels_to_text("bad-json") == ""
|
|
|
|
|
|
def test_safe_csv_field_prevents_formula_injection_and_newlines():
|
|
assert safe_csv_field("=1+1") == "'=1+1"
|
|
assert safe_csv_field("hello\nworld") == "hello world"
|
|
|
|
|
|
def test_safe_filename_replaces_illegal_chars_and_truncates_keyword():
|
|
filename = safe_filename("douyin", "task", "a/b:c*d?e<f>g|很长很长很长很长很长")
|
|
|
|
assert "/" not in filename
|
|
assert "__" not in filename
|
|
assert filename.endswith(".csv")
|