/* global describe,it */ var getSlug = require('../lib/speakingurl'); describe('getSlug with custom replacement', function () { 'use strict'; it('should be transliterated', function (done) { getSlug('буу', { lang: false, custom: { 'б': 'б', 'у': 'у' } }) .should.eql('буу'); getSlug('[nodejs]', { custom: { '[': '[', ']': ']' } }) .should.eql('[nodejs]'); getSlug('[Äpfel]', { custom: { '[': '[', ']': ']' } }) .should.eql('[aepfel]'); getSlug('[Äpfel]', { lang: false, custom: { '[': '[', ']': ']' } }) .should.eql('[aepfel]'); done(); }); it('should be extended with allowed chars', function (done) { getSlug('буу', { custom: ['б', 'у'] }) .should.eql('буу'); getSlug('[Knöpfe]', { custom: ['[', ']'] }) .should.eql('[knoepfe]'); getSlug('[Knöpfe & Ösen]', { custom: ['[', ']'] }) .should.eql('[knoepfe-and-oesen]'); getSlug('[Knöpfe & Ösen]', { custom: ['[', ']'], lang: 'de' }) .should.eql('[knoepfe-und-oesen]'); getSlug('[Knöpfe]', { maintainCase: true, custom: ['[', ']'] }) .should.eql('[Knoepfe]'); getSlug('[Knöpfe haben Löcher]', { titleCase: true, custom: ['[', ']'] }) .should.eql('[Knoepfe-Haben-Loecher]'); getSlug('[knöpfe haben runde löcher]', { titleCase: ['haben', 'runde'], custom: ['[', ']'] }) .should.eql('[Knoepfe-haben-runde-Loecher]'); getSlug('[knöpfe haben runde löcher]', { titleCase: ['haben', 'runde'], maintainCase: true, custom: ['[', ']'] }) .should.eql('[Knoepfe-haben-runde-Loecher]'); done(); }); });