@villedemontreal/general-utils
Version:
General utilities library
58 lines • 4.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const stringUtils_1 = require("./stringUtils");
describe('String Utility', () => {
describe('#prefix', () => {
it('should work properly', () => {
chai_1.assert.strictEqual((0, stringUtils_1.prefix)(undefined, 'A'), undefined);
chai_1.assert.strictEqual((0, stringUtils_1.prefix)(null, 'A'), null);
chai_1.assert.strictEqual((0, stringUtils_1.prefix)('BC', null), 'BC');
chai_1.assert.strictEqual((0, stringUtils_1.prefix)('BC', undefined), 'BC');
chai_1.assert.strictEqual((0, stringUtils_1.prefix)('BC', 'A'), 'ABC');
});
});
describe('#suffix', () => {
it('should work properly', () => {
chai_1.assert.strictEqual((0, stringUtils_1.suffix)(undefined, 'C'), undefined);
chai_1.assert.strictEqual((0, stringUtils_1.suffix)(null, 'C'), null);
chai_1.assert.strictEqual((0, stringUtils_1.suffix)('AB', null), 'AB');
chai_1.assert.strictEqual((0, stringUtils_1.suffix)('AB', undefined), 'AB');
chai_1.assert.strictEqual((0, stringUtils_1.suffix)('AB', 'C'), 'ABC');
});
});
describe('deDuplicateChars', () => {
it('No trim', () => {
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(null, ' ', '_'), null);
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(undefined, ' ', '_'), undefined);
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', null, '_'), 'a b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', undefined, '_'), 'a b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', '', '_'), 'a b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', ' ', null), 'a b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', ' ', undefined), 'a b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(' a b ', ' ', ' '), ' a b ');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', ' ', ''), 'ab');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a \\ b', ' \\', ''), 'ab');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a \\ b', ' \\', '\\'), 'a\\b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)('a b', ' ', '_'), 'a_b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(' \r\n \t a \r\n \t \n \t b \r\n \t ', ' \t\r\n', ' '), ' a b ');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(' \r\n \t a \r\n \t \n \t b \r\n \t ', ' \t\r\n', ''), 'ab');
});
it('With trim', () => {
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(' a b ', ' ', ' ', true), 'a b');
chai_1.assert.strictEqual((0, stringUtils_1.deDuplicateChars)(' \r\n \t a \r\n \t \n \t b \r\n \t ', ' \t\r\n', ' ', true), 'a b');
});
});
describe('trimAll', () => {
it('should work properly', () => {
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(null), null);
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(undefined), undefined);
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(''), '');
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(' '), '');
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(' '), '');
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(' \r\n \r \t \n \r\t \t'), '');
chai_1.assert.strictEqual((0, stringUtils_1.trimAll)(' \r\n \r \t \n \r\t \t a \r\n \r \t \n \r\t \tb \r\n \r \t \n \r\t \t'), 'a b');
});
});
});
//# sourceMappingURL=stringUtils.test.js.map