awesome-string
Version:
The ultimate JavaScript string library
49 lines (42 loc) • 1.97 kB
JavaScript
import as from '../awesome-string';
import { expect } from 'chai';
import { PRINTABLE_ASCII } from '../const';
describe('capitalize', function() {
it('should capitalize the first character in a string', function() {
expect(as.capitalize('APPLE')).to.be.equal('APPLE');
expect(as.capitalize('apple')).to.be.equal('Apple');
expect(as.capitalize('macBook')).to.be.equal('MacBook');
expect(as.capitalize('f')).to.be.equal('F');
expect(as.capitalize('')).to.be.equal('');
expect(as.capitalize('*apple')).to.be.equal('*apple');
expect(as.capitalize(PRINTABLE_ASCII)).to.be.equal(PRINTABLE_ASCII);
});
it('should capitalize the first character in a string and keep the rest unmodified', function() {
expect(as.capitalize('apple', true)).to.be.equal('Apple');
expect(as.capitalize('APPLE', true)).to.be.equal('Apple');
expect(as.capitalize('яблоко', true)).to.be.equal('Яблоко');
expect(as.capitalize('f', true)).to.be.equal('F');
expect(as.capitalize('', true)).to.be.equal('');
expect(as.capitalize('100', true)).to.be.equal('100');
expect(as.capitalize(' ', true)).to.be.equal(' ');
});
it('should capitalize the first character in a string representation of an object', function() {
expect(as.capitalize(['grape'])).to.be.equal('Grape');
expect(as.capitalize({
toString: function() {
return 'oRaNgE';
}
}, false)).to.be.equal('ORaNgE');
});
it('should not modify numbers', function() {
expect(as.capitalize(100)).to.be.equal('100');
expect(as.capitalize(812, false)).to.be.equal('812');
});
it('should return an empty string for null or undefined', function() {
expect(as.capitalize()).to.be.equal('');
expect(as.capitalize(undefined)).to.be.equal('');
expect(as.capitalize(null)).to.be.equal('');
expect(as.capitalize(undefined, true)).to.be.equal('');
expect(as.capitalize(undefined, false)).to.be.equal('');
});
});