blob: 242c12d6e85b8328c8ea3f61db501c7d24f72d9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertStrictEquals } from "./test_util.ts";
Deno.test(
{ permissions: { net: ["127.0.0.1"] } },
async function eventSourceColonInMessage() {
const portDeferred = Promise.withResolvers<number>();
await using _server = Deno.serve({
handler: () =>
new Response('data: {"key":"value"}\n\n', {
headers: { "content-type": "text/event-stream" },
}),
onListen: ({ port }) => portDeferred.resolve(port),
hostname: "127.0.0.1",
port: 0,
});
const port = await portDeferred.promise;
const eventSource = new EventSource(`http://127.0.0.1:${port}/`);
const event = await new Promise<MessageEvent>((resolve) =>
eventSource.onmessage = resolve
);
eventSource.close();
assertStrictEquals(event.data, '{"key":"value"}');
},
);
|