textamer
Version:
A collection of utils to work with text
66 lines (64 loc) • 2.17 kB
JavaScript
const capitalizeWords = require('./capitalizeWords');
describe('capitalizeWords', () => {
test('at start', () => {
expect(capitalizeWords('CAP lorem ipsum', 'cap')).toBe('Cap lorem ipsum');
expect(capitalizeWords('cap lorem ipsum', 'cap')).toBe('Cap lorem ipsum');
expect(capitalizeWords('Cap lorem ipsum', 'cap')).toBe('Cap lorem ipsum');
expect(capitalizeWords('cAp lorem ipsum', 'cap')).toBe('Cap lorem ipsum');
expect(capitalizeWords('caP lorem ipsum', 'cap')).toBe('Cap lorem ipsum');
});
test('at end', () => {
expect(capitalizeWords('lorem ipsum cap', 'cap')).toBe('lorem ipsum Cap');
expect(capitalizeWords('lorem ipsum Cap', 'cap')).toBe('lorem ipsum Cap');
expect(capitalizeWords('lorem ipsum cAp', 'cap')).toBe('lorem ipsum Cap');
expect(capitalizeWords('lorem ipsum caP', 'cap')).toBe('lorem ipsum Cap');
expect(capitalizeWords('lorem ipsum CAP', 'cap')).toBe('lorem ipsum Cap');
});
describe('next to punc', () => {
test('comma', () => {
expect(capitalizeWords('lorem ipsum cap,', 'cap')).toBe(
'lorem ipsum Cap,'
);
});
test('dot', () => {
expect(capitalizeWords('lorem ipsum cap.', 'cap')).toBe(
'lorem ipsum Cap.'
);
});
test('questionMark', () => {
expect(capitalizeWords('lorem ipsum cap?', 'cap')).toBe(
'lorem ipsum Cap?'
);
});
test('exclamationMark', () => {
expect(capitalizeWords('lorem ipsum cap!', 'cap')).toBe(
'lorem ipsum Cap!'
);
});
test('semicolon', () => {
expect(capitalizeWords('lorem ipsum cap;', 'cap')).toBe(
'lorem ipsum Cap;'
);
});
test('colon', () => {
expect(capitalizeWords('lorem ipsum cap:', 'cap')).toBe(
'lorem ipsum Cap:'
);
});
test('ellipsis', () => {
expect(capitalizeWords('lorem ipsum cap...', 'cap')).toBe(
'lorem ipsum Cap...'
);
});
});
test('next to newline', () => {
expect(
capitalizeWords(
`lorem ipsum cap
`,
'cap'
)
).toBe(`lorem ipsum Cap
`);
});
});