Browse Source

Add test to cover missing line in serialize_sequence_value

Updated test_serialize_sequence_value_with_none_first_in_union to use Union[None, list[str]]
instead of list[str] | None to ensure None appears first in union args, which properly tests
the continue statement at line 316 in fastapi/_compat/v2.py.

Co-authored-by: tiangolo <[email protected]>
pull/14933/head
copilot-swe-agent[bot] 5 months ago
parent
commit
f9921c0f8a
  1. 4
      tests/test_compat.py

4
tests/test_compat.py

@ -121,8 +121,10 @@ def test_serialize_sequence_value_with_optional_list_pipe_union():
def test_serialize_sequence_value_with_none_first_in_union():
"""Test that serialize_sequence_value handles Union[None, List[...]] correctly."""
from fastapi._compat import v2
from typing import Union
field_info = FieldInfo(annotation=list[str] | None)
# Use Union[None, list[str]] to ensure None comes first in the union args
field_info = FieldInfo(annotation=Union[None, list[str]])
field = v2.ModelField(name="items", field_info=field_info)
result = v2.serialize_sequence_value(field=field, value=["x", "y"])
assert result == ["x", "y"]

Loading…
Cancel
Save