文件
mynode/packages/editor/CodeMirror/editorCommands/tableCommands.test.ts
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

52 行
1.9 KiB
TypeScript

import { EditorSelection } from '@codemirror/state';
import createTestEditor from '../testing/createTestEditor';
import { getTableRangeAtCursor, getCellAtCursor } from './tableCommands';
describe('tableCommands', () => {
it('should resolve correct column in table with outer pipes', async () => {
const doc = '| A | B |\n|---|---|\n| 1 | 2 |';
// Place cursor on "2"
const cursorPos = doc.indexOf('2');
const editor = await createTestEditor(doc, EditorSelection.cursor(cursorPos), ['Table']);
const tableRange = getTableRangeAtCursor(editor.state);
expect(tableRange).not.toBeNull();
const cell = getCellAtCursor(editor.state, tableRange!);
expect(cell).not.toBeNull();
expect(cell!.row).toBe(1); // body row 0 → row 1
expect(cell!.col).toBe(1); // second column
});
it('should resolve correct column in table without outer pipes', async () => {
const doc = 'A | B\n---|---\n1 | 2';
// Place cursor on "2"
const cursorPos = doc.indexOf('2');
const editor = await createTestEditor(doc, EditorSelection.cursor(cursorPos), ['Table']);
const tableRange = getTableRangeAtCursor(editor.state);
expect(tableRange).not.toBeNull();
const cell = getCellAtCursor(editor.state, tableRange!);
expect(cell).not.toBeNull();
expect(cell!.row).toBe(1); // body row 0 → row 1
expect(cell!.col).toBe(1); // second column
});
it('should resolve first column correctly in table without outer pipes', async () => {
const doc = 'A | B\n---|---\n1 | 2';
// Place cursor on "1"
const cursorPos = doc.indexOf('1');
const editor = await createTestEditor(doc, EditorSelection.cursor(cursorPos), ['Table']);
const tableRange = getTableRangeAtCursor(editor.state);
expect(tableRange).not.toBeNull();
const cell = getCellAtCursor(editor.state, tableRange!);
expect(cell).not.toBeNull();
expect(cell!.row).toBe(1);
expect(cell!.col).toBe(0); // first column
});
});