@durable-streams/client-conformance-tests 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@durable-streams/client-conformance-tests",
|
|
3
3
|
"description": "Conformance test suite for Durable Streams client implementations (producer and consumer)",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.5",
|
|
5
5
|
"author": "Durable Stream contributors",
|
|
6
6
|
"bin": {
|
|
7
7
|
"client-conformance-tests": "./dist/cli.js",
|
|
@@ -143,3 +143,90 @@ tests:
|
|
|
143
143
|
expect:
|
|
144
144
|
minChunks: 1
|
|
145
145
|
upToDate: true
|
|
146
|
+
|
|
147
|
+
- id: sse-preserves-nel-character
|
|
148
|
+
name: SSE preserves NEL character (U+0085)
|
|
149
|
+
description: |
|
|
150
|
+
SSE parsers must NOT split on U+0085 (Next Line / NEL).
|
|
151
|
+
Per HTML Living Standard, SSE lines end only with CRLF, LF, or CR.
|
|
152
|
+
Other Unicode line separators must be preserved as data.
|
|
153
|
+
setup:
|
|
154
|
+
- action: create
|
|
155
|
+
as: streamPath
|
|
156
|
+
contentType: text/plain
|
|
157
|
+
- action: append
|
|
158
|
+
path: ${streamPath}
|
|
159
|
+
data: "before\u0085after"
|
|
160
|
+
operations:
|
|
161
|
+
- action: read
|
|
162
|
+
path: ${streamPath}
|
|
163
|
+
live: sse
|
|
164
|
+
waitForUpToDate: true
|
|
165
|
+
expect:
|
|
166
|
+
data: "before\u0085after"
|
|
167
|
+
minChunks: 1
|
|
168
|
+
|
|
169
|
+
- id: sse-preserves-line-separator
|
|
170
|
+
name: SSE preserves Line Separator (U+2028)
|
|
171
|
+
description: |
|
|
172
|
+
SSE parsers must NOT split on U+2028 (Line Separator).
|
|
173
|
+
This character can appear in JSON payloads and AI token streams.
|
|
174
|
+
It must be preserved as ordinary data, not treated as a line break.
|
|
175
|
+
setup:
|
|
176
|
+
- action: create
|
|
177
|
+
as: streamPath
|
|
178
|
+
contentType: text/plain
|
|
179
|
+
- action: append
|
|
180
|
+
path: ${streamPath}
|
|
181
|
+
data: "hello\u2028world"
|
|
182
|
+
operations:
|
|
183
|
+
- action: read
|
|
184
|
+
path: ${streamPath}
|
|
185
|
+
live: sse
|
|
186
|
+
waitForUpToDate: true
|
|
187
|
+
expect:
|
|
188
|
+
data: "hello\u2028world"
|
|
189
|
+
minChunks: 1
|
|
190
|
+
|
|
191
|
+
- id: sse-preserves-paragraph-separator
|
|
192
|
+
name: SSE preserves Paragraph Separator (U+2029)
|
|
193
|
+
description: |
|
|
194
|
+
SSE parsers must NOT split on U+2029 (Paragraph Separator).
|
|
195
|
+
This character can appear in JSON payloads and AI token streams.
|
|
196
|
+
It must be preserved as ordinary data, not treated as a line break.
|
|
197
|
+
setup:
|
|
198
|
+
- action: create
|
|
199
|
+
as: streamPath
|
|
200
|
+
contentType: text/plain
|
|
201
|
+
- action: append
|
|
202
|
+
path: ${streamPath}
|
|
203
|
+
data: "para1\u2029para2"
|
|
204
|
+
operations:
|
|
205
|
+
- action: read
|
|
206
|
+
path: ${streamPath}
|
|
207
|
+
live: sse
|
|
208
|
+
waitForUpToDate: true
|
|
209
|
+
expect:
|
|
210
|
+
data: "para1\u2029para2"
|
|
211
|
+
minChunks: 1
|
|
212
|
+
|
|
213
|
+
- id: sse-preserves-all-unicode-separators
|
|
214
|
+
name: SSE preserves all Unicode line separators together
|
|
215
|
+
description: |
|
|
216
|
+
Combined test ensuring NEL (U+0085), LS (U+2028), and PS (U+2029)
|
|
217
|
+
are all preserved in the same payload without being split.
|
|
218
|
+
setup:
|
|
219
|
+
- action: create
|
|
220
|
+
as: streamPath
|
|
221
|
+
contentType: text/plain
|
|
222
|
+
- action: append
|
|
223
|
+
path: ${streamPath}
|
|
224
|
+
data: "a\u0085b\u2028c\u2029d"
|
|
225
|
+
operations:
|
|
226
|
+
- action: read
|
|
227
|
+
path: ${streamPath}
|
|
228
|
+
live: sse
|
|
229
|
+
waitForUpToDate: true
|
|
230
|
+
expect:
|
|
231
|
+
data: "a\u0085b\u2028c\u2029d"
|
|
232
|
+
minChunks: 1
|