// @vitest-environment happy-dom // SPDX-License-Identifier: AGPL-3.0-or-later import {readFileSync} from 'node:fs'; import {resolve} from 'node:path'; import {SHELL_HINT_VERSION} from '@app/features/app/components/skeleton/ShellHint'; import {createElement, type ReactNode} from 'react'; import {createRoot} from 'react-dom/client'; import {afterEach, expect, test, vi} from 'vitest'; vi.mock('@lingui/core/macro', () => { const descriptor = (value: unknown): unknown => (typeof value === 'string' ? {message: value} : value); return {msg: descriptor, t: descriptor, plural: () => '', select: () => '', selectOrdinal: () => ''}; }); vi.mock('@lingui/react/macro', () => ({ Trans: ({children}: {children?: ReactNode}) => children ?? null, useLingui: () => ({i18n: {_: (descriptor: {message?: string}) => descriptor.message ?? ''}}), })); const html = readFileSync(resolve(process.cwd(), 'index.html'), 'utf8'); function readBootScript(): string { const body = html.slice(html.indexOf('
')); const match = /