32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
getCypressUncaughtExceptionDecision,
|
|
shouldIgnoreUncaughtException,
|
|
} from "../../../cypress/support/uncaughtExceptionPolicy";
|
|
|
|
describe("shouldIgnoreUncaughtException", () => {
|
|
it("returns true for known benign ResizeObserver errors", () => {
|
|
expect(
|
|
shouldIgnoreUncaughtException(new Error("ResizeObserver loop limit exceeded")),
|
|
).toBe(true);
|
|
});
|
|
|
|
it("returns false for unknown runtime errors", () => {
|
|
expect(shouldIgnoreUncaughtException(new Error("TypeError: x is undefined"))).toBe(false);
|
|
});
|
|
|
|
it("returns false for Cypress handler when the error should be ignored", () => {
|
|
expect(
|
|
getCypressUncaughtExceptionDecision(
|
|
new Error("ResizeObserver loop completed with undelivered notifications."),
|
|
),
|
|
).toBe(false);
|
|
});
|
|
|
|
it("returns undefined for Cypress handler when the error should fail the test", () => {
|
|
expect(
|
|
getCypressUncaughtExceptionDecision(new Error("TypeError: x is undefined")),
|
|
).toBeUndefined();
|
|
});
|
|
});
|