一些检查失败了
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
52 行
1.2 KiB
TypeScript
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);
|
|
});
|
|
|
|
});
|