fix: iteration none output error (#10295)

This commit is contained in:
Novice 2024-11-05 16:31:49 +08:00 committed by GitHub
parent ae254f0a10
commit 7962101e5e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 0 deletions

View File

@ -91,6 +91,8 @@ def build_segment(value: Any, /) -> Segment:
return ArrayObjectSegment(value=value) return ArrayObjectSegment(value=value)
case SegmentType.FILE: case SegmentType.FILE:
return ArrayFileSegment(value=value) return ArrayFileSegment(value=value)
case SegmentType.NONE:
return ArrayAnySegment(value=value)
case _: case _:
raise ValueError(f"not supported value {value}") raise ValueError(f"not supported value {value}")
raise ValueError(f"not supported value {value}") raise ValueError(f"not supported value {value}")

View File

@ -13,6 +13,7 @@ from core.variables import (
StringVariable, StringVariable,
) )
from core.variables.exc import VariableError from core.variables.exc import VariableError
from core.variables.segments import ArrayAnySegment
from factories import variable_factory from factories import variable_factory
@ -156,3 +157,9 @@ def test_variable_cannot_large_than_200_kb():
"value": "a" * 1024 * 201, "value": "a" * 1024 * 201,
} }
) )
def test_array_none_variable():
var = variable_factory.build_segment([None, None, None, None])
assert isinstance(var, ArrayAnySegment)
assert var.value == [None, None, None, None]