mirror of
https://github.com/laurent22/joplin.git
synced 2026-06-06 20:10:22 +00:00
52 lines
1.9 KiB
TypeScript
52 lines
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
|
|
});
|
|
});
|