diff --git a/dev/test-studio/plugins/error-reporting-test/ErrorReportingTest.tsx b/dev/test-studio/plugins/error-reporting-test/ErrorReportingTest.tsx new file mode 100644 index 00000000000..f3333fb0fcc --- /dev/null +++ b/dev/test-studio/plugins/error-reporting-test/ErrorReportingTest.tsx @@ -0,0 +1,73 @@ +import {Button, Card, Flex, Stack} from '@sanity/ui' +import {useCallback, useState} from 'react' + +function triggerCustomErrorOnEvent() { + throw new Error('Custom error triggered') +} + +function triggerTypeErrorOnEvent(evt: any) { + evt.someFunctionThatDoesntExist() +} + +function triggerTimeoutError() { + setTimeout(() => { + throw new Error('Custom error in setTimeout') + }, 1000) +} + +function triggerPromiseError() { + return new Promise((resolve, reject) => { + requestAnimationFrame(() => { + reject(new Error('Custom error in promise')) + }) + }) +} + +export function ErrorReportingTest() { + const [doRenderError, setRenderError] = useState(false) + const handleShouldRenderWithError = useCallback(() => setRenderError(true), []) + + return ( + + + +