1
0
mirror of https://github.com/thangisme/notes.git synced 2024-06-26 19:55:32 +00:00
notes/node_modules/table/test/wrapString.js
Patrick Marsceill b7b0d0d7bf
Initial commit
2017-03-09 13:16:08 -05:00

46 lines
1.6 KiB
JavaScript

/* eslint-disable max-nested-callbacks */
import {
expect
} from 'chai';
import chalk from 'chalk';
import wrapString from './../src/wrapString';
describe('wrapString', () => {
context('subject is a plain text string', () => {
context('subject is lesser than the chunk size', () => {
it('returns subject in a single chunk', () => {
expect(wrapString('aaa', 3)).to.deep.equal(['aaa']);
});
});
context('subject is larger than the chunk size', () => {
it('returns subject sliced into multiple chunks', () => {
expect(wrapString('aaabbbc', 3)).to.deep.equal(['aaa', 'bbb', 'c']);
});
});
context('a chunk starts with a space', () => {
it('adjusts chunks to offset the space', () => {
expect(wrapString('aaa bbb ccc', 3)).to.deep.equal(['aaa', 'bbb', 'ccc']);
});
});
});
context('subject string contains ANSI escape codes', () => {
describe('subject is lesser than the chunk size', () => {
it.skip('returns subject in a single chunk', () => {
expect(wrapString(chalk.red('aaa'), 3)).to.deep.equal([
'\u001b[31m\u001b[31m\u001b[31m\u001b[31m\u001b[31maaa\u001b[39m'
]);
});
});
describe('subject is larger than the chunk size', () => {
it.skip('returns subject sliced into multiple chunks', () => {
expect(wrapString(chalk.red('aaabbbc'), 3)).to.deep.equal([
'\u001b[31m\u001b[31m\u001b[31m\u001b[31m\u001b[31maaa\u001b[39m',
'\u001b[31m\u001b[31m\u001b[31m\u001b[31m\u001b[31mbbb\u001b[39m',
'\u001b[31m\u001b[31m\u001b[31m\u001b[31m\u001b[31mc\u001b[39m'
]);
});
});
});
});