MCPcopy
hub / github.com/pallets/werkzeug / test_empty_field

Function test_empty_field

tests/sansio/test_multipart.py:134–182  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

132
133
134def test_empty_field() -> None:
135 boundary = b"foo"
136 decoder = MultipartDecoder(boundary)
137 data = """
138--foo
139Content-Disposition: form-data; name="text"
140Content-Type: text/plain; charset="UTF-8"
141
142Some Text
143--foo
144Content-Disposition: form-data; name="empty"
145Content-Type: text/plain; charset="UTF-8"
146
147--foo--
148 """.replace("\n", "\r\n").encode()
149 decoder.receive_data(data)
150 decoder.receive_data(None)
151 events = [decoder.next_event()]
152 while not isinstance(events[-1], Epilogue):
153 events.append(decoder.next_event())
154 assert events == [
155 Preamble(data=b""),
156 Field(
157 name="text",
158 headers=Headers(
159 [
160 ("Content-Disposition", 'form-data; name="text"'),
161 ("Content-Type", 'text/plain; charset="UTF-8"'),
162 ]
163 ),
164 ),
165 Data(data=b"Some Text", more_data=False),
166 Field(
167 name="empty",
168 headers=Headers(
169 [
170 ("Content-Disposition", 'form-data; name="empty"'),
171 ("Content-Type", 'text/plain; charset="UTF-8"'),
172 ]
173 ),
174 ),
175 Data(data=b"", more_data=False),
176 Epilogue(data=b" "),
177 ]
178 encoder = MultipartEncoder(boundary)
179 result = b""
180 for event in events:
181 result += encoder.send_event(event)
182 assert data == result

Callers

nothing calls this directly

Calls 11

receive_dataMethod · 0.95
next_eventMethod · 0.95
send_eventMethod · 0.95
MultipartDecoderClass · 0.90
PreambleClass · 0.90
FieldClass · 0.90
HeadersClass · 0.90
DataClass · 0.90
EpilogueClass · 0.90
MultipartEncoderClass · 0.90
appendMethod · 0.80

Tested by

no test coverage detected