diff --git a/libs/tiptap-editor/src/__tests__/runnable-modal.test.ts b/libs/tiptap-editor/src/__tests__/runnable-modal.test.ts index adcfe10..a9163a6 100644 --- a/libs/tiptap-editor/src/__tests__/runnable-modal.test.ts +++ b/libs/tiptap-editor/src/__tests__/runnable-modal.test.ts @@ -1,5 +1,5 @@ -import { afterEach, describe, expect, it, vi } from 'vitest'; import type { Editor } from '@tiptap/core'; +import { afterEach, describe, expect, it, vi } from 'vitest'; import { openRunnableModal } from '../slash-command'; /** @@ -54,10 +54,14 @@ describe('openRunnableModal', () => { timeoutInput.value = '10'; timeoutInput.dispatchEvent(new Event('input', { bubbles: true })); // 点插入 - const insertBtn = document.querySelector('.tiptap-runnable-actions .insert')!; + const insertBtn = document.querySelector( + '.tiptap-runnable-actions .insert', + )!; insertBtn.click(); expect(calls).toHaveLength(1); - expect(calls[0].language).toBe('python runnable {"timeout_secs":10,"memory_mb":256,"allow_network":false}'); + expect(calls[0].language).toBe( + 'python runnable {"timeout_secs":10,"memory_mb":256,"allow_network":false}', + ); expect(document.querySelector('.tiptap-runnable-modal')).toBeNull(); }); @@ -74,7 +78,9 @@ describe('openRunnableModal', () => { const timeoutInput = document.querySelector('#runnable-timeout')!; timeoutInput.value = '0'; timeoutInput.dispatchEvent(new Event('input', { bubbles: true })); - const insertBtn = document.querySelector('.tiptap-runnable-actions .insert')!; + const insertBtn = document.querySelector( + '.tiptap-runnable-actions .insert', + )!; expect(insertBtn.disabled).toBe(true); // 且点插入(即使强制)不应触发——实际 disabled 按钮不接收 click,这里只验状态 insertBtn.click(); @@ -85,7 +91,9 @@ describe('openRunnableModal', () => { const { editor } = mockEditor(); openRunnableModal(editor); const timeoutInput = document.querySelector('#runnable-timeout')!; - const insertBtn = document.querySelector('.tiptap-runnable-actions .insert')!; + const insertBtn = document.querySelector( + '.tiptap-runnable-actions .insert', + )!; timeoutInput.value = '0'; timeoutInput.dispatchEvent(new Event('input', { bubbles: true })); expect(insertBtn.disabled).toBe(true); diff --git a/libs/tiptap-editor/src/slash-command.ts b/libs/tiptap-editor/src/slash-command.ts index 28caee0..139650d 100644 --- a/libs/tiptap-editor/src/slash-command.ts +++ b/libs/tiptap-editor/src/slash-command.ts @@ -552,11 +552,19 @@ export function openRunnableModal(editor: Editor): void { function updateInsertEnabled(): void { const t = Number(timeoutInput.value); const m = Number(memInput.value); - insertBtn.disabled = !(t >= TIMEOUT_RANGE.min && t <= TIMEOUT_RANGE.max && m >= MEMORY_RANGE.min && m <= MEMORY_RANGE.max); + insertBtn.disabled = !( + t >= TIMEOUT_RANGE.min && + t <= TIMEOUT_RANGE.max && + m >= MEMORY_RANGE.min && + m <= MEMORY_RANGE.max + ); } function insert(): void { - editor.chain().setCodeBlock({ language: buildRunnableInfo(state) }).run(); + editor + .chain() + .setCodeBlock({ language: buildRunnableInfo(state) }) + .run(); close(); }