Blame view
node_modules/table/test/wrapString.js
1.64 KB
f7563de62
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
/* 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('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('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' ]); }); }); }); }); |