port slug unit tests to uvu

pull/6811/head
Conduitry 5 years ago
parent beffea63ff
commit cfce79fb99

@ -10,7 +10,7 @@
"build": "node scripts/update.js && npm run copy-workers && svelte-kit build", "build": "node scripts/update.js && npm run copy-workers && svelte-kit build",
"update": "node scripts/update.js --force=true", "update": "node scripts/update.js --force=true",
"start": "node build", "start": "node build",
"test": "mocha -r esm test/**", "test": "uvu test",
"deploy": "make deploy" "deploy": "make deploy"
}, },
"dependencies": { "dependencies": {

@ -1,5 +1,5 @@
import slugify from '@sindresorhus/slugify'; import slugify from '@sindresorhus/slugify';
import {SLUG_SEPARATOR} from '../../config'; import {SLUG_SEPARATOR} from '../../config.js';
/* url-safe processor */ /* url-safe processor */

@ -1,10 +1,15 @@
import {strict as assert} from 'assert'; import * as uvu from 'uvu';
import {urlsafeSlugProcessor, unicodeSafeProcessor} from '../../src/utils/slug'; import * as assert from 'uvu/assert';
import {SLUG_SEPARATOR as _} from '../../config'; import {urlsafeSlugProcessor, unicodeSafeProcessor} from '../../src/utils/slug.js';
import {SLUG_SEPARATOR as _} from '../../config.js';
describe('slug', () => { function run(name, func) {
describe('urlsafeSlugProcessor', () => { const suite = uvu.suite(name);
describe('ascii', () => { func(suite);
suite.run();
}
run('urlsafeSlugProcessor -> ascii', it => {
it('space separated words', () => { it('space separated words', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Text expressions'), urlsafeSlugProcessor('Text expressions'),
@ -60,7 +65,8 @@ describe('slug', () => {
); );
}); });
}); });
describe('unicode', () => {
run('urlsafeSlugProcessor - unicode', it => {
it('should translate symbols to English', () => { it('should translate symbols to English', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Ich ♥ Deutsch'), urlsafeSlugProcessor('Ich ♥ Deutsch'),
@ -74,7 +80,8 @@ describe('slug', () => {
); );
}); });
}); });
describe('cyricllic', () => {
run('urlsafeSlugProcessor -> cyrillic', it => {
it('space separated words', () => { it('space separated words', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие и перехват событий'), urlsafeSlugProcessor('Всплытие и перехват событий'),
@ -130,20 +137,21 @@ describe('slug', () => {
); );
}); });
}); });
describe('ascii + cyricllic', () => {
run('urlsafeSlugProcessor -> ascii + cyrillic', it => {
it('space separated words', () => { it('space separated words', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие и export перехват событий'), urlsafeSlugProcessor('Всплытие и export перехват событий'),
`Vsplytie${_}i${_}export${_}perehvat${_}sobytij` `Vsplytie${_}i${_}export${_}perehvat${_}sobytij`
); );
}); });
it('ascii word concatenated to a cyricllic word', () => { it('ascii word concatenated to a cyrillic word', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('exportВсплытие'), urlsafeSlugProcessor('exportВсплытие'),
'exportVsplytie' 'exportVsplytie'
); );
}); });
it('cyricllic word concatenated to an ascii word', () => { it('cyrillic word concatenated to an ascii word', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытиеexport'), urlsafeSlugProcessor('Всплытиеexport'),
`Vsplytieexport` `Vsplytieexport`
@ -210,10 +218,8 @@ describe('slug', () => {
); );
}); });
}); });
});
describe('unicodeSafeProcessor (preserve unicode)', () => { run('unicodeSafeProcessor (preserve unicode) -> ascii', it => {
describe('ascii', () => {
it('space separated words', () => { it('space separated words', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Text expressions'), unicodeSafeProcessor('Text expressions'),
@ -269,7 +275,8 @@ describe('slug', () => {
); );
}); });
}); });
describe('unicode', () => {
run('unicodeSafeProcessor (preserve unicode) -> unicode', it => {
it('should preserve symbols', () => { it('should preserve symbols', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Ich ♥ Deutsch'), unicodeSafeProcessor('Ich ♥ Deutsch'),
@ -283,7 +290,8 @@ describe('slug', () => {
); );
}); });
}); });
describe('cyricllic', () => {
run('unicodeSafeProcessor (preserve unicode) -> cyrillic', it => {
it('space separated words', () => { it('space separated words', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Всплытие и перехват событий'), unicodeSafeProcessor('Всплытие и перехват событий'),
@ -339,20 +347,21 @@ describe('slug', () => {
); );
}); });
}); });
describe('ascii + cyricllic', () => {
run('unicodeSafeProcessor (preserve unicode) -> ascii + cyrillic', it => {
it('space separated words', () => { it('space separated words', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Всплытие и export перехват событий'), unicodeSafeProcessor('Всплытие и export перехват событий'),
`Всплытие${_}и${_}export${_}перехват${_}событий` `Всплытие${_}и${_}export${_}перехват${_}событий`
); );
}); });
it('ascii word concatenated to a cyricllic word', () => { it('ascii word concatenated to a cyrillic word', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('exportВсплытие'), unicodeSafeProcessor('exportВсплытие'),
`export${_}Всплытие` `export${_}Всплытие`
); );
}); });
it('cyricllic word concatenated to an ascii word', () => { it('cyrillic word concatenated to an ascii word', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Всплытиеexport'), unicodeSafeProcessor('Всплытиеexport'),
`Всплытие${_}export` `Всплытие${_}export`
@ -419,5 +428,3 @@ describe('slug', () => {
); );
}); });
}); });
});
});

Loading…
Cancel
Save