Skip to content

Commit

Permalink
cli-table#269 - Failing tests for refactored table layouts
Browse files Browse the repository at this point in the history
  • Loading branch information
speedytwenty committed Mar 27, 2022
1 parent 72f399d commit 0447ac7
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 1 deletion.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
{
"displayName": "test",
"testMatch": [
"<rootDir>/test/*.js"
"<rootDir>/test/**/*.js"
]
},
{
Expand Down
16 changes: 16 additions & 0 deletions test/issues/269-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const Table = require('../..');

test('it renders rowSpan correctly', () => {
let table = new Table({ style: { border: [], head: [] } });
table.push([{ rowSpan: 3, content: 'A1' }, 'B1', 'C1'], [{ rowSpan: 2, content: 'B2' }, 'C2'], ['C3']);
let expected = [
'┌────┬────┬────┐',
'│ A1 │ B1 │ C1 │',
'│ ├────┼────┤',
'│ │ B2 │ C2 │',
'│ │ ├────┤',
'│ │ │ C3 │',
'└────┴────┴────┘',
];
expect(table.toString()).toEqual(expected.join('\n'));
});
67 changes: 67 additions & 0 deletions test/table-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,73 @@ describe('@api Table ', function () {

expect(table.toString()).toEqual(expected.join('\n'));
});

it('supports complex layouts', () => {
let table = new Table({ style: { border: [], head: [] } });
table.push(
[{ content: 'TOP', colSpan: 9, hAlign: 'center' }],
[
{ content: 'TL', rowSpan: 4, vAlign: 'center' },
{ content: 'A1', rowSpan: 3 },
'B1',
'C1',
{ content: 'D1', rowSpan: 3, vAlign: 'center' },
'E1',
'F1',
{ content: 'G1', rowSpan: 3 },
{ content: 'TR', rowSpan: 4, vAlign: 'center' },
],
[{ rowSpan: 2, content: 'B2' }, 'C2', { rowSpan: 2, colSpan: 2, content: 'E2' }],
['C3'],
[{ content: 'A2', colSpan: 7, hAlign: 'center' }],
[{ content: 'CLEAR', colSpan: 9, hAlign: 'center' }],
[
{ content: 'BL', rowSpan: 4, vAlign: 'center' },
{ content: 'A3', colSpan: 7, hAlign: 'center' },
{ content: 'BR', rowSpan: 4, vAlign: 'center' },
],
[
{ content: 'A4', colSpan: 3, hAlign: 'center' },
{ content: 'D2', rowSpan: 2, vAlign: 'center' },
{ content: 'E3', colSpan: 2, hAlign: 'center' },
{ content: 'G2', rowSpan: 3, vAlign: 'center' },
],
[
{ content: 'A5', rowSpan: 2, vAlign: 'center' },
{ content: 'B3', colSpan: 2, hAlign: 'center' },
{ content: 'E4', rowSpan: 2, vAlign: 'center' },
{ content: 'F3', rowSpan: 2, vAlign: 'center' },
],
['B4', { content: 'C4', colSpan: 2, hAlign: 'center' }],
[{ content: 'BOTTOM', colSpan: 9, hAlign: 'center' }]
);
let expected = [
'┌────────────────────────────────────────────┐',
'│ TOP │',
'├────┬────┬────┬────┬────┬────┬────┬────┬────┤',
'│ │ A1 │ B1 │ C1 │ │ E1 │ F1 │ G1 │ │',
'│ │ ├────┼────┤ ├────┴────┤ │ │',
'│ │ │ B2 │ C2 │ D1 │ E2 │ │ │',
'│ TL │ │ ├────┤ │ │ │ TR │',
'│ │ │ │ C3 │ │ │ │ │',
'│ ├────┴────┴────┴────┴─────────┴────┤ │',
'│ │ A2 │ │',
'├────┴──────────────────────────────────┴────┤',
'│ CLEAR │',
'├────┬──────────────────────────────────┬────┤',
'│ │ A3 │ │',
'│ ├──────────────┬────┬─────────┬────┤ │',
'│ │ A4 │ │ E3 │ │ │',
'│ BL ├────┬─────────┤ D2 ├────┬────┤ │ BR │',
'│ │ │ B3 │ │ │ │ G2 │ │',
'│ │ A5 ├────┬────┴────┤ E4 │ F3 │ │ │',
'│ │ │ B4 │ C4 │ │ │ │ │',
'├────┴────┴────┴─────────┴────┴────┴────┴────┤',
'│ BOTTOM │',
'└────────────────────────────────────────────┘',
];
expect(table.toString()).toEqual(expected.join('\n'));
});
});

/*
Expand Down

0 comments on commit 0447ac7

Please sign in to comment.