mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-29 22:35:50 -04:00
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
import { ConsoleLoggerService } from './console-logger.service';
|
|
|
|
describe('sanitize', () => {
|
|
it('removes non-printable ASCII character', () => {
|
|
for (let i = 0; i++; i < 32) {
|
|
const hexString = i.toString(16);
|
|
expect(ConsoleLoggerService.sanitize(`a${hexString}b`)).toEqual('ab');
|
|
}
|
|
});
|
|
it('replaces non-zero-width space with space', () => {
|
|
const nonZeroWidthSpaces = [
|
|
'\u0020', // space
|
|
'\u00A0', // non-breaking space
|
|
'\u2000', // en quad
|
|
'\u2001', // en quad
|
|
'\u2002', // en space
|
|
'\u2003', // en space
|
|
'\u2004', // three-per-em space
|
|
'\u2005', // four-per-em space
|
|
'\u2006', // six-per-em space
|
|
'\u2007', // figure space
|
|
'\u2008', // punctuation space
|
|
'\u2009', // thin space
|
|
'\u200a', // hair space
|
|
'\u202F', // narrow no-break space
|
|
'\u205F', // medium mathematical space
|
|
'\u3000', // ideographic space
|
|
];
|
|
nonZeroWidthSpaces.forEach((space) => {
|
|
expect(ConsoleLoggerService.sanitize(`c${space}d`)).toEqual('c d');
|
|
});
|
|
});
|
|
});
|