Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,37 @@ test('Tab on the first item leaves the list unchanged and keeps editor focus', a
expect(editor.getByRole('listitem').nth(0)).toHaveTextContent('First');
expect(editor.getByRole('listitem').nth(1)).toHaveTextContent('Second');
});

describe('Visual regression', () => {
test.each([
{ marker: '-', name: 'Unordered list' },
{ marker: '1.', name: 'Ordered list' },
{ marker: '- [ ]', name: 'Todo list' },
])('Nested items of $name must have indentation', async ({ marker }) => {
await renderRichEditorInDOM({
value: [
`${marker} Level 1 Item 1`,
`\t${marker} Level 2 Item 1`,
`\t\t${marker} Level 3 Item 1`,
Comment thread
vitonsky marked this conversation as resolved.
`\t${marker} Level 2 Item 2`,
`${marker} Level 1 Item 2`,
].join('\n'),
});

const editor = page.getByRole('textbox');
const getItemIndent = (text: string) =>
editor.getByText(text, { exact: true }).element().getBoundingClientRect().x;

expect(
getItemIndent('Level 1 Item 1'),
'Indents are equal on the same level',
).toBe(getItemIndent('Level 1 Item 2'));

expect(getItemIndent('Level 2 Item 1')).toBeGreaterThan(
getItemIndent('Level 1 Item 1'),
);
expect(getItemIndent('Level 3 Item 1')).toBeGreaterThan(
getItemIndent('Level 2 Item 1'),
);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -521,8 +521,8 @@
}
}

/* No start padding for nested list, because li already have the one */
.RichEditor__nestedListItem > .RichEditor__ul {
/* Checklist have no padding since checkbox is placed inside list item */
.RichEditor__checklist {
padding-inline-start: 0;
}

Expand Down
Loading