Rocket.Chat.ReactNative/app/lib/database/utils.test.ts

73 lines
2.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import * as utils from './utils';
describe('sanitizeLikeStringTester', () => {
// example chars that shouldn't return
const disallowedChars = ',./;[]!@#$%^&*()_-=+~';
const sanitizeLikeStringTester = (str: string) =>
expect(utils.sanitizeLikeString(`${str}${disallowedChars}`)).toBe(`${str}${'_'.repeat(disallowedChars.length)}`);
test('render empty', () => {
expect(utils.sanitizeLikeString('')).toBe('');
expect(utils.sanitizeLikeString(undefined)).toBe(undefined);
});
// Testing a couple of different alphabets
test('render test (latin)', () => {
sanitizeLikeStringTester('test123');
});
test('render test (arabic)', () => {
sanitizeLikeStringTester('اختبار123');
});
test('render test (russian)', () => {
sanitizeLikeStringTester(ест123');
});
test('render test (chinese trad)', () => {
sanitizeLikeStringTester('測試123');
});
test('render test (japanese)', () => {
sanitizeLikeStringTester('テスト123');
});
});
describe('sanitizer', () => {
test('render the same result', () => {
const content = { a: true };
expect(utils.sanitizer(content)).toBe(content);
});
});
describe('slugifyLikeString', () => {
test('render empty', () => {
expect(utils.slugifyLikeString('')).toBe('');
expect(utils.slugifyLikeString(undefined)).toBe('');
});
test('slugify the latin alphabet', () => {
expect(utils.slugifyLikeString('test123')).toBe('test123');
expect(utils.slugifyLikeString('TEST123')).toBe('test123');
});
test('slugify the russian alphabet', () => {
const textToSlugify = 'ПРОВЕРКА';
const textSlugified = 'proverka';
expect(utils.slugifyLikeString(textToSlugify)).toBe(textSlugified);
});
test('slugify the arabic alphabet', () => {
const textToSlugify = 'اختبار123';
const textSlugified = 'khtbr123';
expect(utils.slugifyLikeString(textToSlugify)).toBe(textSlugified);
});
test('slugify the chinese trad alphabet', () => {
const textToSlugify = '測試123';
const textSlugified = 'ce-shi-123';
expect(utils.slugifyLikeString(textToSlugify)).toBe(textSlugified);
});
test('slugify the japanese alphabet', () => {
const textToSlugify = 'テスト123';
const textSlugified = 'tesuto123';
expect(utils.slugifyLikeString(textToSlugify)).toBe(textSlugified);
});
});