| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | import { assert } from 'chai';import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade';import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers';import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade';import { IEscapeSequenceEncoder } from '../../../src/interfaces/utils/IEscapeSequenceEncoder';describe('EscapeSequenceEncoder', () => {    describe('encode (string: string, encodeAllSymbols: boolean = false): string', () => {        let escapeSequenceEncoder: IEscapeSequenceEncoder;        before(() => {            const inversifyContainerFacade: IInversifyContainerFacade = new InversifyContainerFacade();            inversifyContainerFacade.load('', {});            escapeSequenceEncoder = inversifyContainerFacade                .get<IEscapeSequenceEncoder>(ServiceIdentifiers.IEscapeSequenceEncoder);        });        describe('variant #1: default', () => {            const string: string = 'string';            const expectedString: string = '\\x73\\x74\\x72\\x69\\x6e\\x67';            let actualString: string;            before(() => {                actualString = escapeSequenceEncoder.encode(string, true);            });            it('should return a string where all characters are encoded', () => {                assert.equal(actualString, expectedString);            });        });        describe('variant #2: escape `escape sequences`', () => {            const string: string = 'abc\'\\r\\n';            const expectedString: string = 'abc\\x27\\x5cr\\x5cn';            let actualString: string;            before(() => {                actualString = escapeSequenceEncoder.encode(string, false);            });            it('should return a string where all `escape sequences` are encoded', () => {                assert.equal(actualString, expectedString);            });        });    });});
 |