ComfyUI/tests-unit/prompt_server_test/view_image_header_test.py
2026-06-05 02:38:43 +05:30

39 lines
1.2 KiB
Python

from email.message import Message
from utils.http_headers import content_disposition_header
def test_view_content_disposition_is_valid_inline_filename():
header = content_disposition_header("example image.png", "inline")
message = Message()
message["Content-Disposition"] = header
assert message.get_content_disposition() == "inline"
assert message.get_filename() == "example image.png"
assert "filename*=UTF-8''example%20image.png" in header
def test_view_content_disposition_sanitizes_control_characters():
header = content_disposition_header('bad"\r\nname.png', "inline")
message = Message()
message["Content-Disposition"] = header
assert message.get_content_disposition() == "inline"
assert message.get_filename() == "bad__name.png"
def test_view_content_disposition_adds_utf8_filename_parameter():
header = content_disposition_header("café.png", "inline")
assert 'filename="caf_.png"' in header
assert "filename*=UTF-8''caf%C3%A9.png" in header
def test_view_content_disposition_escapes_path_separators():
header = content_disposition_header("nested/image.png", "inline")
assert 'filename="nested/image.png"' in header
assert "filename*=UTF-8''nested%2Fimage.png" in header