Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | 1x 1x 1x 1x 1x 1x 1x 1x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 1x 1x 1x 1x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 1x 1x 18x 18x 18x 18x 1x 1x 1x 1x 1x 1x 1x | import React from "react";
import { render } from "@testing-library/react";
import { MemoryRouter } from "react-router-dom";
import { ThemeProvider } from "./context/ThemeContext";
import { DataProvider, DataContext } from "./context/DataContext";
import { TerminalContextProvider } from "react-terminal";
const AllTheProviders = ({ children, route = "/", dataContext = {}, theme = "dark" }) => {
const defaultDataContext = {
refresh: false,
setRefresh: vi.fn(),
stack: [],
setStack: vi.fn(),
functions: [],
setFunctions: vi.fn(),
infoBreakpointData: "",
setInfoBreakpointData: vi.fn(),
memoryMap: "",
setMemoryMap: vi.fn(),
isDarkMode: "dark",
setDarkMode: vi.fn(),
dark: false,
setDark: vi.fn(),
terminalOutput: "",
setCommandPress: vi.fn(),
commandPress: true,
setTerminalOutput: vi.fn(),
};
// We need to mock localStorage for the ThemeProvider
if (typeof localStorage !== 'undefined' && typeof localStorage.setItem === 'function') {
try {
localStorage.setItem("gdbui-mode", theme);
} catch (e) {
// Ignore
}
}
return (
<MemoryRouter initialEntries={[route]}>
<ThemeProvider key={theme}>
<DataContext.Provider value={{ ...defaultDataContext, ...dataContext }}>
<TerminalContextProvider>
{children}
</TerminalContextProvider>
</DataContext.Provider>
</ThemeProvider>
</MemoryRouter>
);
};
const customRender = (ui, { route, dataContext, theme, ...options } = {}) =>
render(ui, {
wrapper: (props) => <AllTheProviders {...props} route={route} dataContext={dataContext} theme={theme} />,
...options
});
// re-export everything
export * from "@testing-library/react";
// override render method
export { customRender as render };
export { TerminalContextProvider };
|