dragonroll/backend/node_modules/speakingurl/test/test-custom.js

99 lines
2.4 KiB
JavaScript
Raw Normal View History

2024-09-21 17:08:36 +00:00
/* 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();
});
});