import { root } from '../../../../../src/element-template/index.js';
import { __page } from '../../../../../src/element-template/runtime/page/page.js';
import { resetTemplateId } from '../../../../../src/element-template/runtime/template/handle.js';
import { elementTemplateRegistry } from '../../../../../src/element-template/runtime/template/registry.js';
import { installMockNativePapi } from '../../../test-utils/mock/mockNativePapi.js';
import { serializeToJSX } from '../../../test-utils/debug/serializer.js';
declare const renderPage: () => void;
export function run() {
const mockContext = installMockNativePapi({ clearTemplatesOnCleanup: true });
elementTemplateRegistry.clear();
resetTemplateId();
(globalThis as { __USE_ELEMENT_TEMPLATE__?: boolean }).__USE_ELEMENT_TEMPLATE__ = true;
try {
function App() {
return (
Hello
);
}
root.render();
renderPage();
const actualJSX = serializeToJSX(__page);
return {
output: actualJSX,
files: {
'native-log.txt': mockContext.nativeLog,
},
};
} finally {
(globalThis as { __USE_ELEMENT_TEMPLATE__?: boolean }).__USE_ELEMENT_TEMPLATE__ = undefined;
mockContext.cleanup();
}
}