|
|
/* global describe,it */
var getSlug = require('../lib/speakingurl');
describe('getSlug separator', function () { 'use strict';
it('should separate with non-whitespace', function (done) {
getSlug('Foo Bar Baz', { separator: '-' }) .should.eql('foo-bar-baz');
getSlug('Foo Bar Baz', { separator: '*' }) .should.eql('foo*bar*baz');
getSlug('Foo Bar Baz', { separator: '_' }) .should.eql('foo_bar_baz');
getSlug('Foo Bar Baz', '-') .should.eql('foo-bar-baz');
getSlug('Foo Bar Baz', '*') .should.eql('foo*bar*baz');
getSlug('Foo Bar Baz', '_') .should.eql('foo_bar_baz');
done();
});
it('should separate with non-whitespace, with trailing spaces', function (done) {
getSlug(' Foo Bar Baz ', { separator: '-' }) .should.eql('foo-bar-baz');
getSlug(' Foo Bar Baz ', { separator: '*' }) .should.eql('foo*bar*baz');
getSlug(' Foo Bar Baz ', { separator: '_' }) .should.eql('foo_bar_baz');
getSlug(' Foo Bar Baz ', '-') .should.eql('foo-bar-baz');
getSlug(' Foo Bar Baz ', '*') .should.eql('foo*bar*baz');
getSlug(' Foo Bar Baz ', '_') .should.eql('foo_bar_baz');
done();
});
it('should separate with trailing separator "-"', function (done) {
getSlug('-Foo Bar Baz-', { separator: '-' }) .should.eql('foo-bar-baz');
getSlug('--Foo Bar Baz---', { separator: '-' }) .should.eql('foo-bar-baz');
getSlug('---Foo Bar Baz---', { separator: '-' }) .should.eql('foo-bar-baz');
getSlug('-Foo Bar Baz-', '-') .should.eql('foo-bar-baz');
getSlug('--Foo Bar Baz---', '-') .should.eql('foo-bar-baz');
getSlug('---Foo Bar Baz---', '-') .should.eql('foo-bar-baz');
done(); });
it('should separate with trailing separator "*"', function (done) {
getSlug('*Foo Bar Baz*', { separator: '*' }) .should.eql('foo*bar*baz');
getSlug('**Foo Bar Baz**', { separator: '*' }) .should.eql('foo*bar*baz');
getSlug('***Foo Bar Baz***', { separator: '*' }) .should.eql('foo*bar*baz');
getSlug('*Foo Bar Baz*', '*') .should.eql('foo*bar*baz');
getSlug('**Foo Bar Baz**', '*') .should.eql('foo*bar*baz');
getSlug('***Foo Bar Baz***', '*') .should.eql('foo*bar*baz');
done();
});
it('should separate with trailing separator "_"', function (done) {
getSlug('_Foo Bar Baz_', { separator: '_' }) .should.eql('foo_bar_baz');
getSlug('__Foo Bar Baz__', { separator: '_' }) .should.eql('foo_bar_baz');
getSlug('___Foo Bar Baz___', { separator: '_' }) .should.eql('foo_bar_baz');
getSlug('_Foo Bar Baz_', '_') .should.eql('foo_bar_baz');
getSlug('__Foo Bar Baz__', '_') .should.eql('foo_bar_baz');
getSlug('___Foo Bar Baz___', '_') .should.eql('foo_bar_baz');
done(); });
it('should remove trailing separator "*"', function (done) {
getSlug(' C\'est un beau titre qui ne laisse rien à désirer !', { separator: '*' }) .should.eql( 'c*est*un*beau*titre*qui*ne*laisse*rien*a*desirer');
getSlug(' C\'est un beau titre qui ne laisse rien à désirer !', '*') .should.eql( 'c*est*un*beau*titre*qui*ne*laisse*rien*a*desirer');
done();
});
it('should return empty string because of non string input', function (done) {
getSlug(true) .should.eql('');
done();
});});
|