123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- /* global describe,it */
- var getSlug = require('../lib/speakingurl');
- describe('getSlug languages', function () {
- 'use strict';
- it('should replace language specific symbols', function (done) {
- var symbolMap = {
- 'ar': {
- '∆': 'delta',
- '∞': 'la-nihaya',
- '♥': 'hob',
- '&': 'wa',
- '|': 'aw',
- '<': 'aqal-men',
- '>': 'akbar-men',
- '∑': 'majmou',
- '¤': 'omla'
- },
- 'cs': {
- '∆': 'delta',
- '∞': 'nekonecno',
- '♥': 'laska',
- '&': 'a',
- '|': 'nebo',
- '<': 'mensi nez',
- '>': 'vetsi nez',
- '∑': 'soucet',
- '¤': 'mena'
- },
- 'de': {
- '∆': 'delta',
- '∞': 'unendlich',
- '♥': 'Liebe',
- '&': 'und',
- '|': 'oder',
- '<': 'kleiner als',
- '>': 'groesser als',
- '∑': 'Summe von',
- '¤': 'Waehrung'
- },
- 'en': {
- '∆': 'delta',
- '∞': 'infinity',
- '♥': 'love',
- '&': 'and',
- '|': 'or',
- '<': 'less than',
- '>': 'greater than',
- '∑': 'sum',
- '¤': 'currency'
- },
- 'es': {
- '∆': 'delta',
- '∞': 'infinito',
- '♥': 'amor',
- '&': 'y',
- '|': 'u',
- '<': 'menos que',
- '>': 'mas que',
- '∑': 'suma de los',
- '¤': 'moneda'
- },
- 'fr': {
- '∆': 'delta',
- '∞': 'infiniment',
- '♥': 'Amour',
- '&': 'et',
- '|': 'ou',
- '<': 'moins que',
- '>': 'superieure a',
- '∑': 'somme des',
- '¤': 'monnaie'
- },
- 'hu': {
- '∆': 'delta',
- '∞': 'vegtelen',
- '♥': 'szerelem',
- '&': 'es',
- '|': 'vagy',
- '<': 'kisebb mint',
- '>': 'nagyobb mint',
- '∑': 'szumma',
- '¤': 'penznem'
- },
- 'my': {
- '∆': 'kwahkhyaet',
- '∞': 'asaonasme',
- '♥': 'akhyait',
- '&': 'nhin',
- '|': 'tho',
- '<': 'ngethaw',
- '>': 'kyithaw',
- '∑': 'paungld',
- '¤': 'ngwekye'
- },
- 'nl': {
- '∆': 'delta',
- '∞': 'oneindig',
- '♥': 'liefde',
- '&': 'en',
- '|': 'of',
- '<': 'kleiner dan',
- '>': 'groter dan',
- '∑': 'som',
- '¤': 'valuta'
- },
- 'it': {
- '∆': 'delta',
- '∞': 'infinito',
- '♥': 'amore',
- '&': 'e',
- '|': 'o',
- '<': 'minore di',
- '>': 'maggiore di',
- '∑': 'somma',
- '¤': 'moneta'
- },
- 'pl': {
- '∆': 'delta',
- '∞': 'nieskonczonosc',
- '♥': 'milosc',
- '&': 'i',
- '|': 'lub',
- '<': 'mniejsze niz',
- '>': 'wieksze niz',
- '∑': 'suma',
- '¤': 'waluta'
- },
- 'pt': {
- '∆': 'delta',
- '∞': 'infinito',
- '♥': 'amor',
- '&': 'e',
- '|': 'ou',
- '<': 'menor que',
- '>': 'maior que',
- '∑': 'soma',
- '¤': 'moeda'
- },
- 'ru': {
- '∆': 'delta',
- '∞': 'beskonechno',
- '♥': 'lubov',
- '&': 'i',
- '|': 'ili',
- '<': 'menshe',
- '>': 'bolshe',
- '∑': 'summa',
- '¤': 'valjuta'
- },
- 'sk': {
- '∆': 'delta',
- '∞': 'nekonecno',
- '♥': 'laska',
- '&': 'a',
- '|': 'alebo',
- '<': 'menej ako',
- '>': 'viac ako',
- '∑': 'sucet',
- '¤': 'mena'
- },
- 'tr': {
- '∆': 'delta',
- '∞': 'sonsuzluk',
- '♥': 'ask',
- '&': 've',
- '|': 'veya',
- '<': 'kucuktur',
- '>': 'buyuktur',
- '∑': 'toplam',
- '¤': 'para birimi'
- },
- 'vn': {
- '∆': 'delta',
- '∞': 'vo cuc',
- '♥': 'yeu',
- '&': 'va',
- '|': 'hoac',
- '<': 'nho hon',
- '>': 'lon hon',
- '∑': 'tong',
- '¤': 'tien te'
- }
- };
- Object.keys(symbolMap)
- .forEach(function (l) {
- // console.log('\ncheck language: ' + l);
- Object.keys(symbolMap[l])
- .forEach(function (s) {
- var k = symbolMap[l][s];
- // console.log('check symbol: ' + s);
- getSlug('Foo ' + s + ' Bar', {
- lang: l,
- maintainCase: true
- })
- .should.eql('Foo-' + getSlug(k, {
- maintainCase: true
- }) + '-Bar');
- getSlug('Foo ' + s + ' Bar', {
- lang: l
- })
- .should.eql('foo-' + getSlug(k) + '-bar');
- });
- });
- getSlug('EN Foo & Bar ')
- .should.eql('en-foo-and-bar');
- getSlug('EN Foo & Bar ', {
- lang: "en"
- })
- .should.eql('en-foo-and-bar');
- getSlug('de Foo & Bar ', {
- lang: "de"
- })
- .should.eql('de-foo-und-bar');
- getSlug('True Foo & Bar ', {
- lang: true
- })
- .should.eql('true-foo-and-bar');
- getSlug('False Foo & Bar ', {
- lang: false
- })
- .should.eql('false-foo-bar');
- getSlug('False Foo & Bar ', {
- lang: false,
- symbols: true
- })
- .should.eql('false-foo-bar');
- getSlug('xx Foo & Bar ', {
- lang: "xx"
- })
- .should.eql('xx-foo-and-bar');
- getSlug('obj Foo & Bar ', {
- lang: {}
- })
- .should.eql('obj-foo-and-bar');
- getSlug('array Foo & Bar ', {
- lang: []
- })
- .should.eql('array-foo-and-bar');
- getSlug('array Foo & Bar ', {
- lang: [],
- symbols: false
- })
- .should.eql('array-foo-bar');
- getSlug('null Foo & Bar ', {
- lang: null
- })
- .should.eql('null-foo-and-bar');
- getSlug('null Foo & Bar ', {
- lang: null,
- symbols: false
- })
- .should.eql('null-foo-bar');
- getSlug('null Foo & Bar ', {
- lang: null,
- symbols: true
- })
- .should.eql('null-foo-and-bar');
- done();
- });
- });
|