// 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(); 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((resolve) => eventSource.onmessage = resolve ); eventSource.close(); assertStrictEquals(event.data, '{"key":"value"}'); }, );