mirror of
https://github.com/nodejs/node.git
synced 2025-05-16 00:11:20 +00:00

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>
88 lines
2.8 KiB
JavaScript
88 lines
2.8 KiB
JavaScript
describe('@api Table ',function(){
|
|
var chai = require('chai');
|
|
var expect = chai.expect;
|
|
var Table = require('..');
|
|
var colors = require('colors/safe');
|
|
|
|
it('wordWrap with colored text',function(){
|
|
var table = new Table({style:{border:[],head:[]},wordWrap:true,colWidths:[7,9]});
|
|
|
|
table.push([colors.red('Hello how are you?'),colors.blue('I am fine thanks!')]);
|
|
|
|
var expected = [
|
|
'┌───────┬─────────┐'
|
|
, '│ ' + colors.red('Hello') + ' │ ' + colors.blue('I am') + ' │'
|
|
, '│ ' + colors.red('how') + ' │ ' + colors.blue('fine') + ' │'
|
|
, '│ ' + colors.red('are') + ' │ ' + colors.blue('thanks!') + ' │'
|
|
, '│ ' + colors.red('you?') + ' │ │'
|
|
, '└───────┴─────────┘'
|
|
];
|
|
|
|
expect(table.toString()).to.equal(expected.join('\n'));
|
|
});
|
|
|
|
it('allows numbers as `content` property of cells defined using object notation', function() {
|
|
var table = new Table({style:{border:[],head:[]}});
|
|
|
|
table.push([{content: 12}]);
|
|
|
|
var expected = [
|
|
'┌────┐'
|
|
, '│ 12 │'
|
|
, '└────┘'
|
|
];
|
|
|
|
expect(table.toString()).to.equal(expected.join('\n'));
|
|
});
|
|
|
|
it('throws if content is not a string or number', function() {
|
|
var table = new Table({style:{border:[],head:[]}});
|
|
|
|
expect(function() {
|
|
table.push([{content: {a:'b'}}]);
|
|
table.toString();
|
|
}).to.throw();
|
|
|
|
});
|
|
|
|
it('works with CJK values', function () {
|
|
var table = new Table({style: {border:[],head:[]}, colWidths: [5, 10, 5]});
|
|
|
|
table.push(
|
|
['foobar', 'English test', 'baz']
|
|
, ['foobar', '中文测试', 'baz']
|
|
, ['foobar', '日本語テスト', 'baz']
|
|
, ['foobar', '한국어테스트', 'baz']
|
|
);
|
|
|
|
var expected = [
|
|
'┌─────┬──────────┬─────┐'
|
|
, '│ fo… │ English… │ baz │'
|
|
, '├─────┼──────────┼─────┤'
|
|
, '│ fo… │ 中文测试 │ baz │'
|
|
, '├─────┼──────────┼─────┤'
|
|
, '│ fo… │ 日本語… │ baz │'
|
|
, '├─────┼──────────┼─────┤'
|
|
, '│ fo… │ 한국어… │ baz │'
|
|
, '└─────┴──────────┴─────┘'
|
|
];
|
|
|
|
expect(table.toString()).to.equal(expected.join("\n"));
|
|
});
|
|
});
|
|
|
|
|
|
/*
|
|
|
|
var expected = [
|
|
'┌──┬───┬──┬──┐'
|
|
, '│ │ │ │ │'
|
|
, '├──┼───┼──┼──┤'
|
|
, '│ │ … │ │ │'
|
|
, '├──┼───┼──┼──┤'
|
|
, '│ │ … │ │ │'
|
|
, '└──┴───┴──┴──┘'
|
|
];
|
|
|
|
*/
|