awesome-string
Version:
The ultimate JavaScript string library
41 lines (35 loc) • 1.74 kB
JavaScript
import as from '../awesome-string';
import { expect } from 'chai';
describe('insert', function() {
it('should insert into a string at specified position', function() {
expect(as.insert('autumn', 'nice ', 0)).to.be.equal('nice autumn');
expect(as.insert('autumn', 'nice ')).to.be.equal('nice autumn');
expect(as.insert('autumn', 'nice', 1)).to.be.equal('aniceutumn');
expect(as.insert('autumn', 'nice', 5)).to.be.equal('autumnicen');
expect(as.insert('autumn', ' is nice', 6)).to.be.equal('autumn is nice');
expect(as.insert('', 'nice', 0)).to.be.equal('nice');
expect(as.insert('autumn', '', 1)).to.be.equal('autumn');
expect(as.insert('autumn', '', 6)).to.be.equal('autumn');
});
it('should not insert into a string when position is out of bounds', function() {
expect(as.insert('autumn', 'nice ', 100)).to.be.equal('autumn');
expect(as.insert('autumn', 'nice', -100)).to.be.equal('autumn');
expect(as.insert('autumn', 'nice', 7)).to.be.equal('autumn');
expect(as.insert('autumn', 'nice', -1)).to.be.equal('autumn');
expect(as.insert('', 'nice', 1)).to.be.equal('');
});
it('should insert into a string representation of an object at specified position', function() {
expect(as.insert(['paradise'], '**', 2)).to.be.equal('pa**radise');
expect(as.insert({
toString: function() {
return 'Tony';
}
}, ' Montana', 4)).to.be.equal('Tony Montana');
});
it('should not insert into a string on null or undefined arguments', function() {
expect(as.insert()).to.be.equal('');
expect(as.insert(null)).to.be.equal('');
expect(as.insert(undefined)).to.be.equal('');
expect(as.insert(undefined, undefined)).to.be.equal('');
});
});