2
0

abort-controller.test.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright 2002-2024 the original author or authors.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * https://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. "use strict";
  17. import "./bootstrap.js";
  18. import abortController from "../lib/abort-controller.js";
  19. import { expect } from "chai";
  20. describe("abort-controller", () => {
  21. describe("newSignal", () => {
  22. it("returns an AbortSignal", () => {
  23. const signal = abortController.newSignal();
  24. expect(signal).to.be.instanceof(AbortSignal);
  25. expect(signal.aborted).to.be.false;
  26. });
  27. it("returns a new signal every time", () => {
  28. const initialSignal = abortController.newSignal();
  29. const newSignal = abortController.newSignal();
  30. expect(initialSignal).to.not.equal(newSignal);
  31. });
  32. it("aborts the existing signal", () => {
  33. const signal = abortController.newSignal();
  34. abortController.newSignal();
  35. expect(signal.aborted).to.be.true;
  36. expect(signal.reason).to.equal("Initiating new WebAuthN ceremony, cancelling current ceremony");
  37. });
  38. });
  39. });