2025-08-15 10:54:00 -07:00
|
|
|
/**
|
|
|
|
|
* @license
|
|
|
|
|
* Copyright 2025 Google LLC
|
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import { render } from 'ink-testing-library';
|
|
|
|
|
import React from 'react';
|
|
|
|
|
import { KeypressProvider } from '../ui/contexts/KeypressContext.js';
|
2025-08-19 21:20:41 -07:00
|
|
|
import { SettingsContext } from '../ui/contexts/SettingsContext.js';
|
|
|
|
|
import { LoadedSettings } from '../config/settings.js';
|
2025-08-15 10:54:00 -07:00
|
|
|
|
|
|
|
|
export const renderWithProviders = (
|
|
|
|
|
component: React.ReactElement,
|
2025-08-19 21:20:41 -07:00
|
|
|
settings?: LoadedSettings,
|
2025-08-15 10:54:00 -07:00
|
|
|
): ReturnType<typeof render> =>
|
|
|
|
|
render(
|
|
|
|
|
<KeypressProvider kittyProtocolEnabled={true}>
|
2025-08-19 21:20:41 -07:00
|
|
|
<SettingsContext.Provider
|
|
|
|
|
value={{ settings: settings!, recomputeSettings: () => {} }}
|
|
|
|
|
>
|
|
|
|
|
{component}
|
|
|
|
|
</SettingsContext.Provider>
|
2025-08-15 10:54:00 -07:00
|
|
|
</KeypressProvider>,
|
|
|
|
|
);
|