diff --git a/packages/app/src/polyfills/navigator-startup.test.ts b/packages/app/src/polyfills/navigator-startup.test.ts new file mode 100644 index 0000000000..7db65ed7b7 --- /dev/null +++ b/packages/app/src/polyfills/navigator-startup.test.ts @@ -0,0 +1,11 @@ +import { readFileSync } from "node:fs"; +import { createRequire } from "node:module"; +import { runInNewContext } from "node:vm"; +import { expect, it } from "vitest"; + +it("loads the native terminal dependency with the initial React Native navigator", () => { + const require = createRequire(import.meta.url); + const source = readFileSync(require.resolve("@xterm/headless"), "utf8"); + // React Native exposes navigator before the app's layout initializes its polyfill. + expect(() => runInNewContext(source, { navigator: {}, module: { exports: {} } })).not.toThrow(); +});