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,423 +1,430 @@
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);
it('space separated words', () => { suite.run();
assert.equal( }
urlsafeSlugProcessor('Text expressions'),
`Text${_}expressions` run('urlsafeSlugProcessor -> ascii', it => {
); it('space separated words', () => {
}); assert.equal(
it('numbered text', () => { urlsafeSlugProcessor('Text expressions'),
assert.equal( `Text${_}expressions`
urlsafeSlugProcessor('1. export creates'), );
`1${_}export${_}creates` });
); it('numbered text', () => {
}); assert.equal(
it('punctuated text', () => { urlsafeSlugProcessor('1. export creates'),
assert.equal( `1${_}export${_}creates`
urlsafeSlugProcessor('svelte.VERSION'), );
`svelte${_}VERSION` });
); it('punctuated text', () => {
}); assert.equal(
it('text starting with the dollar sign', () => { urlsafeSlugProcessor('svelte.VERSION'),
assert.equal( `svelte${_}VERSION`
urlsafeSlugProcessor('$destroy method'), );
`$destroy${_}method` });
); it('text starting with the dollar sign', () => {
}); assert.equal(
it('numbered text containing the dollar sign', () => { urlsafeSlugProcessor('$destroy method'),
assert.equal( `$destroy${_}method`
urlsafeSlugProcessor('1. export $destroy'), );
`1${_}export${_}$destroy` });
); it('numbered text containing the dollar sign', () => {
}); assert.equal(
it('text containing the equal char', () => { urlsafeSlugProcessor('1. export $destroy'),
assert.equal( `1${_}export${_}$destroy`
urlsafeSlugProcessor('script context=module'), );
`script${_}context${_}module` });
); it('text containing the equal char', () => {
}); assert.equal(
it('text containing the colon char', () => { urlsafeSlugProcessor('script context=module'),
assert.equal( `script${_}context${_}module`
urlsafeSlugProcessor('svelte:body'), );
`svelte${_}body` });
); it('text containing the colon char', () => {
}); assert.equal(
it('text containing the slash char', () => { urlsafeSlugProcessor('svelte:body'),
assert.equal( `svelte${_}body`
urlsafeSlugProcessor('svelte/motion'), );
`svelte${_}motion` });
); it('text containing the slash char', () => {
}); assert.equal(
it('text containing the comma char', () => { urlsafeSlugProcessor('svelte/motion'),
assert.equal( `svelte${_}motion`
urlsafeSlugProcessor('svelte, motion'), );
`svelte${_}motion` });
); it('text containing the comma char', () => {
}); assert.equal(
}); urlsafeSlugProcessor('svelte, motion'),
describe('unicode', () => { `svelte${_}motion`
it('should translate symbols to English', () => { );
assert.equal( });
urlsafeSlugProcessor('Ich ♥ Deutsch'), });
`Ich${_}love${_}Deutsch`
); run('urlsafeSlugProcessor - unicode', it => {
}); it('should translate symbols to English', () => {
it('should remove emoji', () => { assert.equal(
assert.equal( urlsafeSlugProcessor('Ich ♥ Deutsch'),
urlsafeSlugProcessor('Ich 😍 Deutsch'), `Ich${_}love${_}Deutsch`
`Ich${_}Deutsch` );
); });
}); it('should remove emoji', () => {
}); assert.equal(
describe('cyricllic', () => { urlsafeSlugProcessor('Ich 😍 Deutsch'),
it('space separated words', () => { `Ich${_}Deutsch`
assert.equal( );
urlsafeSlugProcessor('Всплытие и перехват событий'), });
`Vsplytie${_}i${_}perehvat${_}sobytij` });
);
}); run('urlsafeSlugProcessor -> cyrillic', it => {
it('numbered text', () => { it('space separated words', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('1 Всплытие и перехват событий'), urlsafeSlugProcessor('Всплытие и перехват событий'),
`1${_}Vsplytie${_}i${_}perehvat${_}sobytij` `Vsplytie${_}i${_}perehvat${_}sobytij`
); );
}); });
it('punctuated text', () => { it('numbered text', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('.Всплытие.и.перехват событий'), urlsafeSlugProcessor('1 Всплытие и перехват событий'),
`Vsplytie${_}i${_}perehvat${_}sobytij` `1${_}Vsplytie${_}i${_}perehvat${_}sobytij`
); );
}); });
it('text starting with the dollar sign', () => { it('punctuated text', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('$Всплытие $ перехват событий'), urlsafeSlugProcessor('.Всплытие.и.перехват событий'),
`$Vsplytie${_}$${_}perehvat${_}sobytij` `Vsplytie${_}i${_}perehvat${_}sobytij`
); );
}); });
it('text containing the dollar sign', () => { it('text starting with the dollar sign', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие$перехват'), urlsafeSlugProcessor('$Всплытие $ перехват событий'),
`Vsplytie$perehvat` `$Vsplytie${_}$${_}perehvat${_}sobytij`
); );
}); });
it('text containing the equal char', () => { it('text containing the dollar sign', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие = перехват=событий'), urlsafeSlugProcessor('Всплытие$перехват'),
`Vsplytie${_}perehvat${_}sobytij` `Vsplytie$perehvat`
); );
}); });
it('text containing the colon char', () => { it('text containing the equal char', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие : перехват:событий'), urlsafeSlugProcessor('Всплытие = перехват=событий'),
`Vsplytie${_}perehvat${_}sobytij` `Vsplytie${_}perehvat${_}sobytij`
); );
}); });
it('text containing the slash char', () => { it('text containing the colon char', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие / перехват/событий'), urlsafeSlugProcessor('Всплытие : перехват:событий'),
`Vsplytie${_}perehvat${_}sobytij` `Vsplytie${_}perehvat${_}sobytij`
); );
}); });
it('text containing the comma char', () => { it('text containing the slash char', () => {
assert.equal( assert.equal(
urlsafeSlugProcessor('Всплытие, перехват'), urlsafeSlugProcessor('Всплытие / перехват/событий'),
`Vsplytie${_}perehvat` `Vsplytie${_}perehvat${_}sobytij`
); );
}); });
}); it('text containing the comma char', () => {
describe('ascii + cyricllic', () => { assert.equal(
it('space separated words', () => { urlsafeSlugProcessor('Всплытие, перехват'),
assert.equal( `Vsplytie${_}perehvat`
urlsafeSlugProcessor('Всплытие и export перехват событий'), );
`Vsplytie${_}i${_}export${_}perehvat${_}sobytij` });
); });
});
it('ascii word concatenated to a cyricllic word', () => { run('urlsafeSlugProcessor -> ascii + cyrillic', it => {
assert.equal( it('space separated words', () => {
urlsafeSlugProcessor('exportВсплытие'), assert.equal(
'exportVsplytie' urlsafeSlugProcessor('Всплытие и export перехват событий'),
); `Vsplytie${_}i${_}export${_}perehvat${_}sobytij`
}); );
it('cyricllic word concatenated to an ascii word', () => { });
assert.equal( it('ascii word concatenated to a cyrillic word', () => {
urlsafeSlugProcessor('Всплытиеexport'), assert.equal(
`Vsplytieexport` urlsafeSlugProcessor('exportВсплытие'),
); 'exportVsplytie'
}); );
it('numbered text', () => { });
assert.equal( it('cyrillic word concatenated to an ascii word', () => {
urlsafeSlugProcessor('1 export Всплытие и перехват событий'), assert.equal(
`1${_}export${_}Vsplytie${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('Всплытиеexport'),
); `Vsplytieexport`
}); );
it('punctuated text', () => { });
assert.equal( it('numbered text', () => {
urlsafeSlugProcessor('.Всплытие.export.и.перехват событий'), assert.equal(
`Vsplytie${_}export${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('1 export Всплытие и перехват событий'),
); `1${_}export${_}Vsplytie${_}i${_}perehvat${_}sobytij`
}); );
it('text starting with the dollar sign, followed by ascii char', () => { });
assert.equal( it('punctuated text', () => {
urlsafeSlugProcessor('$exportВсплытие перехват событий'), assert.equal(
`$exportVsplytie${_}perehvat${_}sobytij` urlsafeSlugProcessor('.Всплытие.export.и.перехват событий'),
); `Vsplytie${_}export${_}i${_}perehvat${_}sobytij`
}); );
it('text starting with the dollar sign, followed by unicode char', () => { });
assert.equal( it('text starting with the dollar sign, followed by ascii char', () => {
urlsafeSlugProcessor('$Всплытие export перехват событий'), assert.equal(
`$Vsplytie${_}export${_}perehvat${_}sobytij` urlsafeSlugProcessor('$exportВсплытие перехват событий'),
); `$exportVsplytie${_}perehvat${_}sobytij`
}); );
it('text containing the dollar sign, followed by ascii char', () => { });
assert.equal( it('text starting with the dollar sign, followed by unicode char', () => {
urlsafeSlugProcessor('export $destroy a component prop Всплытие и перехват событий'), assert.equal(
`export${_}$destroy${_}a${_}component${_}prop${_}Vsplytie${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('$Всплытие export перехват событий'),
); `$Vsplytie${_}export${_}perehvat${_}sobytij`
}); );
it('text containing the dollar sign, followed by unicode char', () => { });
assert.equal( it('text containing the dollar sign, followed by ascii char', () => {
urlsafeSlugProcessor('Всплытие export $Всплытие a component prop Всплытие и перехват событий'), assert.equal(
`Vsplytie${_}export${_}$Vsplytie${_}a${_}component${_}prop${_}Vsplytie${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('export $destroy a component prop Всплытие и перехват событий'),
); `export${_}$destroy${_}a${_}component${_}prop${_}Vsplytie${_}i${_}perehvat${_}sobytij`
}); );
it('text containing the equal char', () => { });
assert.equal( it('text containing the dollar sign, followed by unicode char', () => {
urlsafeSlugProcessor('script context=module Всплытие=и перехват событий'), assert.equal(
`script${_}context${_}module${_}Vsplytie${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('Всплытие export $Всплытие a component prop Всплытие и перехват событий'),
); `Vsplytie${_}export${_}$Vsplytie${_}a${_}component${_}prop${_}Vsplytie${_}i${_}perehvat${_}sobytij`
}); );
it('text containing the colon char', () => { });
assert.equal( it('text containing the equal char', () => {
urlsafeSlugProcessor('svelte:body Всплытие и:перехват событий'), assert.equal(
`svelte${_}body${_}Vsplytie${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('script context=module Всплытие=и перехват событий'),
); `script${_}context${_}module${_}Vsplytie${_}i${_}perehvat${_}sobytij`
}); );
it('text containing the slash char', () => { });
assert.equal( it('text containing the colon char', () => {
urlsafeSlugProcessor('svelte/motion Всплытие и / перехват/событий'), assert.equal(
`svelte${_}motion${_}Vsplytie${_}i${_}perehvat${_}sobytij` urlsafeSlugProcessor('svelte:body Всплытие и:перехват событий'),
); `svelte${_}body${_}Vsplytie${_}i${_}perehvat${_}sobytij`
}); );
it('text containing the comma char', () => { });
assert.equal( it('text containing the slash char', () => {
urlsafeSlugProcessor('Всплытие, export'), assert.equal(
`Vsplytie${_}export` urlsafeSlugProcessor('svelte/motion Всплытие и / перехват/событий'),
); `svelte${_}motion${_}Vsplytie${_}i${_}perehvat${_}sobytij`
}); );
}); });
it('text containing the comma char', () => {
assert.equal(
urlsafeSlugProcessor('Всплытие, export'),
`Vsplytie${_}export`
);
}); });
});
run('unicodeSafeProcessor (preserve unicode) -> ascii', it => {
it('space separated words', () => {
assert.equal(
unicodeSafeProcessor('Text expressions'),
`Text${_}expressions`
);
});
it('numbered text', () => {
assert.equal(
unicodeSafeProcessor('1. export creates'),
`1${_}export${_}creates`
);
});
it('punctuated text', () => {
assert.equal(
unicodeSafeProcessor('svelte.VERSION'),
`svelte${_}VERSION`
);
});
it('text starting with the dollar sign', () => {
assert.equal(
unicodeSafeProcessor('$destroy method'),
`$destroy${_}method`
);
});
it('numbered text containing the dollar sign', () => {
assert.equal(
unicodeSafeProcessor('1. export $destroy'),
`1${_}export${_}$destroy`
);
});
it('text containing the equal char', () => {
assert.equal(
unicodeSafeProcessor('script context=module'),
`script${_}context${_}module`
);
});
it('text containing the colon char', () => {
assert.equal(
unicodeSafeProcessor('svelte:body'),
`svelte${_}body`
);
});
it('text containing the slash char', () => {
assert.equal(
unicodeSafeProcessor('svelte/motion'),
`svelte${_}motion`
);
});
it('text containing the comma char', () => {
assert.equal(
unicodeSafeProcessor('svelte, motion'),
`svelte${_}motion`
);
});
});
run('unicodeSafeProcessor (preserve unicode) -> unicode', it => {
it('should preserve symbols', () => {
assert.equal(
unicodeSafeProcessor('Ich ♥ Deutsch'),
`Ich${_}love${_}Deutsch`
);
});
it('should remove emoji', () => {
assert.equal(
unicodeSafeProcessor('Ich 😍 Deutsch'),
`Ich${_}Deutsch`
);
});
});
describe('unicodeSafeProcessor (preserve unicode)', () => { run('unicodeSafeProcessor (preserve unicode) -> cyrillic', it => {
describe('ascii', () => { it('space separated words', () => {
it('space separated words', () => { assert.equal(
assert.equal( unicodeSafeProcessor('Всплытие и перехват событий'),
unicodeSafeProcessor('Text expressions'), `Всплытие${_}и${_}перехват${_}событий`
`Text${_}expressions` );
); });
}); it('numbered text', () => {
it('numbered text', () => { assert.equal(
assert.equal( unicodeSafeProcessor('1 Всплытие и перехват событий'),
unicodeSafeProcessor('1. export creates'), `1${_}Всплытие${_}и${_}перехват${_}событий`
`1${_}export${_}creates` );
); });
}); it('punctuated text', () => {
it('punctuated text', () => { assert.equal(
assert.equal( unicodeSafeProcessor('.Всплытие.и.перехват событий'),
unicodeSafeProcessor('svelte.VERSION'), `Всплытие${_}и${_}перехват${_}событий`
`svelte${_}VERSION` );
); });
}); it('text starting with the dollar sign', () => {
it('text starting with the dollar sign', () => { assert.equal(
assert.equal( unicodeSafeProcessor('$Всплытие $ перехват событий'),
unicodeSafeProcessor('$destroy method'), `$${_}Всплытие${_}$${_}перехват${_}событий`
`$destroy${_}method` );
); });
}); it('text containing the dollar sign', () => {
it('numbered text containing the dollar sign', () => { assert.equal(
assert.equal( unicodeSafeProcessor('Всплытие$перехват'),
unicodeSafeProcessor('1. export $destroy'), `Всплытие${_}$${_}перехват`
`1${_}export${_}$destroy` );
); });
}); it('text containing the equal char', () => {
it('text containing the equal char', () => { assert.equal(
assert.equal( unicodeSafeProcessor('Всплытие = перехват=событий'),
unicodeSafeProcessor('script context=module'), `Всплытие${_}перехват${_}событий`
`script${_}context${_}module` );
); });
}); it('text containing the colon char', () => {
it('text containing the colon char', () => { assert.equal(
assert.equal( unicodeSafeProcessor('Всплытие : перехват:событий'),
unicodeSafeProcessor('svelte:body'), `Всплытие${_}перехват${_}событий`
`svelte${_}body` );
); });
}); it('text containing the slash char', () => {
it('text containing the slash char', () => { assert.equal(
assert.equal( unicodeSafeProcessor('Всплытие / перехват/событий'),
unicodeSafeProcessor('svelte/motion'), `Всплытие${_}перехват${_}событий`
`svelte${_}motion` );
); });
}); it('text containing the comma char', () => {
it('text containing the comma char', () => { assert.equal(
assert.equal( unicodeSafeProcessor('Всплытие, перехват'),
unicodeSafeProcessor('svelte, motion'), `Всплытие${_}перехват`
`svelte${_}motion` );
); });
}); });
});
describe('unicode', () => { run('unicodeSafeProcessor (preserve unicode) -> ascii + cyrillic', it => {
it('should preserve symbols', () => { it('space separated words', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Ich ♥ Deutsch'), unicodeSafeProcessor('Всплытие и export перехват событий'),
`Ich${_}love${_}Deutsch` `Всплытие${_}и${_}export${_}перехват${_}событий`
); );
}); });
it('should remove emoji', () => { it('ascii word concatenated to a cyrillic word', () => {
assert.equal( assert.equal(
unicodeSafeProcessor('Ich 😍 Deutsch'), unicodeSafeProcessor('exportВсплытие'),
`Ich${_}Deutsch` `export${_}Всплытие`
); );
}); });
}); it('cyrillic word concatenated to an ascii word', () => {
describe('cyricllic', () => { assert.equal(
it('space separated words', () => { unicodeSafeProcessor('Всплытиеexport'),
assert.equal( `Всплытие${_}export`
unicodeSafeProcessor('Всплытие и перехват событий'), );
`Всплытие${_}и${_}перехват${_}событий` });
); it('numbered text', () => {
}); assert.equal(
it('numbered text', () => { unicodeSafeProcessor('1 export Всплытие и перехват событий'),
assert.equal( `1${_}export${_}Всплытие${_}и${_}перехват${_}событий`
unicodeSafeProcessor('1 Всплытие и перехват событий'), );
`1${_}Всплытие${_}и${_}перехват${_}событий` });
); it('punctuated text', () => {
}); assert.equal(
it('punctuated text', () => { unicodeSafeProcessor('.Всплытие.export.и.перехват событий'),
assert.equal( `Всплытие${_}export${_}и${_}перехват${_}событий`
unicodeSafeProcessor('.Всплытие.и.перехват событий'), );
`Всплытие${_}и${_}перехват${_}событий` });
); it('text starting with the dollar sign, followed by ascii char', () => {
}); assert.equal(
it('text starting with the dollar sign', () => { unicodeSafeProcessor('$exportВсплытие перехват событий'),
assert.equal( `$export${_}Всплытие${_}перехват${_}событий`
unicodeSafeProcessor('$Всплытие $ перехват событий'), );
`$${_}Всплытие${_}$${_}перехват${_}событий` });
); it('text starting with the dollar sign, followed by unicode char', () => {
}); assert.equal(
it('text containing the dollar sign', () => { unicodeSafeProcessor('$Всплытие export перехват событий'),
assert.equal( `$${_}Всплытие${_}export${_}перехват${_}событий`
unicodeSafeProcessor('Всплытие$перехват'), );
`Всплытие${_}$${_}перехват` });
); it('text containing the dollar sign, followed by ascii char', () => {
}); assert.equal(
it('text containing the equal char', () => { unicodeSafeProcessor('export $destroy a component prop Всплытие и перехват событий'),
assert.equal( `export${_}$destroy${_}a${_}component${_}prop${_}Всплытие${_}и${_}перехват${_}событий`
unicodeSafeProcessor('Всплытие = перехват=событий'), );
`Всплытие${_}перехват${_}событий` });
); it('text containing the dollar sign, followed by unicode char', () => {
}); assert.equal(
it('text containing the colon char', () => { unicodeSafeProcessor('Всплытие export $Всплытие a component prop Всплытие и перехват событий'),
assert.equal( `Всплытие${_}export${_}$${_}Всплытие${_}a${_}component${_}prop${_}Всплытие${_}и${_}перехват${_}событий`
unicodeSafeProcessor('Всплытие : перехват:событий'), );
`Всплытие${_}перехват${_}событий` });
); it('text containing the equal char', () => {
}); assert.equal(
it('text containing the slash char', () => { unicodeSafeProcessor('script context=module Всплытие=и перехват событий'),
assert.equal( `script${_}context${_}module${_}Всплытие${_}и${_}перехват${_}событий`
unicodeSafeProcessor('Всплытие / перехват/событий'), );
`Всплытие${_}перехват${_}событий` });
); it('text containing the colon char', () => {
}); assert.equal(
it('text containing the comma char', () => { unicodeSafeProcessor('svelte:body Всплытие и:перехват событий'),
assert.equal( `svelte${_}body${_}Всплытие${_}и${_}перехват${_}событий`
unicodeSafeProcessor('Всплытие, перехват'), );
`Всплытие${_}перехват` });
); it('text containing the slash char', () => {
}); assert.equal(
}); unicodeSafeProcessor('svelte/motion Всплытие и / перехват/событий'),
describe('ascii + cyricllic', () => { `svelte${_}motion${_}Всплытие${_}и${_}перехват${_}событий`
it('space separated words', () => { );
assert.equal( });
unicodeSafeProcessor('Всплытие и export перехват событий'), it('text containing the comma char', () => {
`Всплытие${_}и${_}export${_}перехват${_}событий` assert.equal(
); unicodeSafeProcessor('Всплытие, export'),
}); `Всплытие${_}export`
it('ascii word concatenated to a cyricllic word', () => { );
assert.equal(
unicodeSafeProcessor('exportВсплытие'),
`export${_}Всплытие`
);
});
it('cyricllic word concatenated to an ascii word', () => {
assert.equal(
unicodeSafeProcessor('Всплытиеexport'),
`Всплытие${_}export`
);
});
it('numbered text', () => {
assert.equal(
unicodeSafeProcessor('1 export Всплытие и перехват событий'),
`1${_}export${_}Всплытие${_}и${_}перехват${_}событий`
);
});
it('punctuated text', () => {
assert.equal(
unicodeSafeProcessor('.Всплытие.export.и.перехват событий'),
`Всплытие${_}export${_}и${_}перехват${_}событий`
);
});
it('text starting with the dollar sign, followed by ascii char', () => {
assert.equal(
unicodeSafeProcessor('$exportВсплытие перехват событий'),
`$export${_}Всплытие${_}перехват${_}событий`
);
});
it('text starting with the dollar sign, followed by unicode char', () => {
assert.equal(
unicodeSafeProcessor('$Всплытие export перехват событий'),
`$${_}Всплытие${_}export${_}перехват${_}событий`
);
});
it('text containing the dollar sign, followed by ascii char', () => {
assert.equal(
unicodeSafeProcessor('export $destroy a component prop Всплытие и перехват событий'),
`export${_}$destroy${_}a${_}component${_}prop${_}Всплытие${_}и${_}перехват${_}событий`
);
});
it('text containing the dollar sign, followed by unicode char', () => {
assert.equal(
unicodeSafeProcessor('Всплытие export $Всплытие a component prop Всплытие и перехват событий'),
`Всплытие${_}export${_}$${_}Всплытие${_}a${_}component${_}prop${_}Всплытие${_}и${_}перехват${_}событий`
);
});
it('text containing the equal char', () => {
assert.equal(
unicodeSafeProcessor('script context=module Всплытие=и перехват событий'),
`script${_}context${_}module${_}Всплытие${_}и${_}перехват${_}событий`
);
});
it('text containing the colon char', () => {
assert.equal(
unicodeSafeProcessor('svelte:body Всплытие и:перехват событий'),
`svelte${_}body${_}Всплытие${_}и${_}перехват${_}событий`
);
});
it('text containing the slash char', () => {
assert.equal(
unicodeSafeProcessor('svelte/motion Всплытие и / перехват/событий'),
`svelte${_}motion${_}Всплытие${_}и${_}перехват${_}событий`
);
});
it('text containing the comma char', () => {
assert.equal(
unicodeSafeProcessor('Всплытие, export'),
`Всплытие${_}export`
);
});
});
}); });
}); });

Loading…
Cancel
Save