diff --git a/package.json b/package.json index 2fc807d0..b8dddc29 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openstack-uicore-foundation", - "version": "5.0.43", + "version": "5.0.45-beta.0", "description": "ui reactjs components for openstack marketing site", "main": "lib/openstack-uicore-foundation.js", "scripts": { diff --git a/src/utils/__tests__/lazy-with-reload.test.js b/src/utils/__tests__/lazy-with-reload.test.js new file mode 100644 index 00000000..7cac305f --- /dev/null +++ b/src/utils/__tests__/lazy-with-reload.test.js @@ -0,0 +1,353 @@ +jest.mock("react", () => ({ + ...jest.requireActual("react"), + lazy: jest.fn((loader) => loader), +})); + +const mockCaptureMessage = jest.fn(); +jest.mock("@sentry/react", () => ({ + captureMessage: (...args) => mockCaptureMessage(...args), +})); + +import { + isChunkLoadError, + reloadOnChunkError, + lazyWithReload, + initChunkErrorRecovery, + chunkErrorSentryBeforeSend, +} from "../lazy-with-reload"; + +const chunkLoadError = () => Object.assign(new Error("Loading chunk 3 failed.\n(missing: https://app.test/foo_abc123.js)"), { + name: "ChunkLoadError", +}); + +const htmlParsedAsScriptError = (filename) => Object.assign( + new Error("Unexpected token '<'"), + { name: "SyntaxError", filename } +); + +// Replaces document's