diff --git a/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx b/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx index 0efbc32a..2d6bbf79 100644 --- a/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx +++ b/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx @@ -101,10 +101,12 @@ export default connect(mapStateToProps, mapDispatchToProps)(class ScratchpadTool render() { let canUsePretest = ['default', 'fileio'].includes(UiContext.pdoc.config?.type); - if (UiContext.pdoc.config?.type === 'remote_judge') { - if (availableLangs[this.props.editorLang].pretest) canUsePretest = true; + const langInfo = availableLangs[this.props.editorLang]; + if (UiContext.pdoc.config?.type === 'remote_judge' && langInfo) { + if (langInfo.pretest) canUsePretest = true; + if (langInfo.validAs && !langInfo.hidden) canUsePretest = true; } - if (availableLangs[this.props.editorLang]?.pretest === false) canUsePretest = false; + if (langInfo?.pretest === false) canUsePretest = false; return ( {canUsePretest && (