文件
mynode/packages/app-desktop/gui/NoteListHeader/utils/validateColumns.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.2 KiB
TypeScript

import { NoteListColumn, NoteListColumns, defaultListColumns } from '@joplin/lib/services/plugins/api/noteListType';
import validateColumns from './validateColumns';
const makeColumns = (props: Partial<NoteListColumn>[]) => {
const columns: NoteListColumns = [];
for (const p of props) {
columns.push({
name: 'note.title',
width: 100,
...p,
});
}
return columns;
};
describe('validateColumns', () => {
test.each([
[
[{ width: 100 }, { width: 200 }, { width: 0 }],
[{ width: 100 }, { width: 200 }, { width: 0 }],
],
[
[{ width: 100 }, { width: 200 }, { width: 100 }],
[{ width: 100 }, { width: 200 }, { width: 0 }],
],
[
[{ width: 0 }, { width: 0 }, { width: 100 }],
[{ width: 100 }, { width: 100 }, { width: 0 }],
],
[
[],
defaultListColumns(),
],
[
null,
defaultListColumns(),
],
])('should drop columns', (columnProps, expectedProps) => {
const columns = columnProps ? makeColumns(columnProps) : columnProps;
const expected = makeColumns(expectedProps);
const actual = validateColumns(columns);
expect(actual).toEqual(expected);
const mustBeIdentical = JSON.stringify(columns) === JSON.stringify(expected);
expect(actual === columns).toBe(mustBeIdentical);
});
});