node/deps/npm/node_modules/cli-table2/test/original-cli-table-newlines-test.js
Myles Borins ace4fe566f
deps: update npm to 5.5.1
Closes: https://github.com/nodejs/node/pull/16280

PR-URL: https://github.com/nodejs/node/pull/16509
Fixes: https://github.com/nodejs/node/issues/14161
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-10-29 21:32:15 -04:00

86 lines
2.5 KiB
JavaScript

describe('@api original-cli-table newline tests',function(){
var Table = require('../src/table');
var chai = require('chai');
var expect = chai.expect;
it('test table with newlines in headers', function() {
var table = new Table({
head: ['Test', "1\n2\n3"]
, style: {
'padding-left': 1
, 'padding-right': 1
, head: []
, border: []
}
});
var expected = [
'┌──────┬───┐'
, '│ Test │ 1 │'
, '│ │ 2 │'
, '│ │ 3 │'
, '└──────┴───┘'
];
expect(table.toString()).to.equal(expected.join("\n"));
});
it('test column width is accurately reflected when newlines are present', function() {
var table = new Table({ head: ['Test\nWidth'], style: {head:[], border:[]} });
expect(table.width).to.equal(9);
});
it('test newlines in body cells', function() {
var table = new Table({style: {head:[], border:[]}});
table.push(["something\nwith\nnewlines"]);
var expected = [
'┌───────────┐'
, '│ something │'
, '│ with │'
, '│ newlines │'
, '└───────────┘'
];
expect(table.toString()).to.equal(expected.join("\n"));
});
it('test newlines in vertical cell header and body', function() {
var table = new Table({ style: {'padding-left':0, 'padding-right':0, head:[], border:[]} });
table.push(
{'v\n0.1': 'Testing\nsomething cool'}
);
var expected = [
'┌───┬──────────────┐'
, '│v │Testing │'
, '│0.1│something cool│'
, '└───┴──────────────┘'
];
expect(table.toString()).to.equal(expected.join("\n"));
});
it('test newlines in cross table header and body', function() {
var table = new Table({ head: ["", "Header\n1"], style: {'padding-left':0, 'padding-right':0, head:[], border:[]} });
table.push({ "Header\n2": ['Testing\nsomething\ncool'] });
var expected = [
'┌──────┬─────────┐'
, '│ │Header │'
, '│ │1 │'
, '├──────┼─────────┤'
, '│Header│Testing │'
, '│2 │something│'
, '│ │cool │'
, '└──────┴─────────┘'
];
expect(table.toString()).to.equal(expected.join("\n"));
});
});