Skip to content

Commit 6fc0803

Browse files
committed
test
1 parent af895e3 commit 6fc0803

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

src/SignalR/clients/ts/signalr/tests/HttpConnection.test.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,48 @@ describe("HttpConnection", () => {
831831
});
832832
});
833833

834+
it("transport handlers set before start for custom transports", async () => {
835+
await VerifyLogger.run(async (logger) => {
836+
const availableTransport = { transport: "Custom", transferFormats: ["Text"] };
837+
let handlersSet = false;
838+
const transport: ITransport = {
839+
connect: (url: string, transferFormat: TransferFormat) => {
840+
if (transport.onreceive && transport.onclose) {
841+
handlersSet = true;
842+
}
843+
return Promise.resolve();
844+
},
845+
onclose: null,
846+
onreceive: null,
847+
send: (data: any) => Promise.resolve(),
848+
stop: () => {
849+
if (transport.onclose) {
850+
transport.onclose();
851+
}
852+
return Promise.resolve();
853+
},
854+
};
855+
856+
const options: IHttpConnectionOptions = {
857+
...commonOptions,
858+
httpClient: new TestHttpClient()
859+
.on("POST", () => ({ connectionId: "42", availableTransports: [availableTransport] })),
860+
logger,
861+
transport,
862+
} as IHttpConnectionOptions;
863+
864+
const connection = new HttpConnection("http://tempuri.org", options);
865+
connection.onreceive = () => null;
866+
try {
867+
await connection.start(TransferFormat.Text);
868+
} finally {
869+
await connection.stop();
870+
}
871+
872+
expect(handlersSet).toBe(true);
873+
});
874+
});
875+
834876
describe(".constructor", () => {
835877
it("throws if no Url is provided", async () => {
836878
// Force TypeScript to let us call the constructor incorrectly :)

0 commit comments

Comments
 (0)