合并 `test` 的 v1.10.0 提交到 `main`。 **包含提交** - `28c9433` feat: 添加自定义命令片段库 - `9aa2e80` release: 发布 v1.10.0 自定义命令片段库版本 **关联** - Related to #90 > 本 PR 仅关联 #90,不自动关闭该 Issue。 **验证** - `pnpm run typecheck` 0 错 - `pnpm test` 47/47 603/603 通过 - `pnpm run build:frontend` 成功 --------- Co-authored-by: TanXin <tanxin@example.com>
38 lines
995 B
TypeScript
38 lines
995 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { updateSelection } from '../frontend/src/sftp-selection';
|
|
|
|
describe('SFTP multi selection', () => {
|
|
it('replaces the selection on a plain click', () => {
|
|
const result = updateSelection(new Set([1, 2]), 4, 2, 10, {
|
|
additive: false,
|
|
range: false,
|
|
});
|
|
expect([...result.selected]).toEqual([4]);
|
|
expect(result.anchor).toBe(4);
|
|
});
|
|
|
|
it('toggles items with Ctrl/Cmd', () => {
|
|
expect([
|
|
...updateSelection(new Set([1, 2]), 2, 1, 10, {
|
|
additive: true,
|
|
range: false,
|
|
}).selected,
|
|
]).toEqual([1]);
|
|
expect([
|
|
...updateSelection(new Set([1]), 3, 1, 10, {
|
|
additive: true,
|
|
range: false,
|
|
}).selected,
|
|
]).toEqual([1, 3]);
|
|
});
|
|
|
|
it('selects a contiguous range with Shift', () => {
|
|
expect([
|
|
...updateSelection(new Set([2]), 5, 2, 10, {
|
|
additive: false,
|
|
range: true,
|
|
}).selected,
|
|
]).toEqual([2, 3, 4, 5]);
|
|
});
|
|
});
|