source: node_modules/node-abort-controller/__tests__/abort-controller.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.4 KB
Line 
1const { AbortController } = require("../index.js");
2
3describe("AbortController", function () {
4 it("should call abort handlers once", function () {
5 const controller = new AbortController();
6 const signal = controller.signal;
7 const handler = jest.fn();
8
9 expect(signal.onabort).toBeNull();
10 expect(signal.aborted).toBe(false);
11 expect(signal.reason).toBeUndefined();
12
13 signal.onabort = jest.fn();
14 signal.addEventListener("abort", handler);
15
16 controller.abort();
17
18 expect(signal.aborted).toBe(true);
19 expect(signal.reason).toEqual(new Error("AbortError"));
20 expect(handler).toBeCalledTimes(1);
21 expect(handler).toBeCalledWith({ type: "abort", target: signal });
22 expect(signal.onabort).toBeCalledTimes(1);
23 expect(signal.onabort).toBeCalledWith({ type: "abort", target: signal });
24
25 jest.clearAllMocks();
26 controller.abort();
27
28 expect(signal.aborted).toBe(true);
29 expect(signal.reason).toEqual(new Error("AbortError"));
30 expect(handler).not.toBeCalled();
31 expect(signal.onabort).not.toBeCalled();
32 });
33
34 it("should use custom abort reason", () => {
35 const controller = new AbortController();
36 const signal = controller.signal;
37 expect(signal.aborted).toBe(false);
38 expect(signal.reason).toBeUndefined();
39
40 const customReason = new Error("Custom Reason");
41 controller.abort(customReason);
42
43 expect(signal.aborted).toBe(true);
44 expect(signal.reason).toBe(customReason);
45 });
46});
Note: See TracBrowser for help on using the repository browser.