Skip to content

Commit 12f3d76

Browse files
committed
add more granular tests for wrapText
1 parent 82b87c5 commit 12f3d76

File tree

2 files changed

+51
-17
lines changed

2 files changed

+51
-17
lines changed

packages/render/src/shared/utils/__snapshots__/pretty.spec.ts.snap

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,28 @@ exports[`pretty > should prettify base doucment correctly 1`] = `
236236
</html>
237237
"
238238
`;
239+
240+
exports[`wrapText() > should work with longer lines imitating what would come from pretty printing 1`] = `
241+
" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis laoreet
242+
tortor in orci ultricies, at fermentum nisl aliquam. Mauris ornare ut eros
243+
non vulputate. Aliquam quam massa, sagittis et nunc at, tincidunt vestibulum
244+
justo. Sed semper lectus a urna finibus congue. Aliquam erat volutpat. Lorem
245+
ipsum dolor sit amet, consectetur adipiscing elit. Proin molestie enim sed
246+
mauris ultrices interdum."
247+
`;
248+
249+
exports[`wrapText() > should work with short lines 1`] = `
250+
"Lorem
251+
ipsum
252+
dolor sit
253+
amet,
254+
consectetur
255+
adipiscing
256+
elit.
257+
Vestibulum
258+
tristique."
259+
`;
260+
239261
exports[`wrapText() 1`] = `
240262
"Lorem
241263
ipsum

packages/render/src/shared/utils/pretty.spec.ts

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,33 @@ describe('pretty', () => {
3838
// });
3939
});
4040

41-
test('wrapText()', () => {
42-
expect(
43-
wrapText(
44-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tristique.',
45-
'',
46-
10,
47-
'\n',
48-
),
49-
).toMatchSnapshot();
50-
expect(
51-
wrapText(
52-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis laoreet tortor in orci ultricies, at fermentum nisl aliquam. Mauris ornare ut eros non vulputate. Aliquam quam massa, sagittis et nunc at, tincidunt vestibulum justo. Sed semper lectus a urna finibus congue. Aliquam erat volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin molestie enim sed mauris ultrices interdum.',
53-
' ',
54-
78,
55-
'\n',
56-
),
57-
).toMatchSnapshot();
41+
describe('wrapText()', () => {
42+
it('should work with short lines', () => {
43+
expect(
44+
wrapText(
45+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tristique.',
46+
'',
47+
10,
48+
'\n',
49+
),
50+
).toMatchSnapshot();
51+
});
52+
53+
it('should work with longer lines imitating what would come from pretty printing', () => {
54+
expect(
55+
wrapText(
56+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis laoreet tortor in orci ultricies, at fermentum nisl aliquam. Mauris ornare ut eros non vulputate. Aliquam quam massa, sagittis et nunc at, tincidunt vestibulum justo. Sed semper lectus a urna finibus congue. Aliquam erat volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin molestie enim sed mauris ultrices interdum.',
57+
' ',
58+
78,
59+
'\n',
60+
),
61+
).toMatchSnapshot();
62+
});
63+
64+
it('should work with space characters from Preview component', () => {
65+
const spaceCharacters = '\xa0\u200C\u200B\u200D\u200E\u200F\uFEFF'.repeat(
66+
150 - 50,
67+
);
68+
expect(wrapText(spaceCharacters, '', 80, '\n')).toBe(spaceCharacters);
69+
});
5870
});

0 commit comments

Comments
 (0)