forked from javascript-obfuscator/javascript-obfuscator
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEscapeSequenceEncoder.spec.ts
More file actions
52 lines (38 loc) · 1.93 KB
/
Copy pathEscapeSequenceEncoder.spec.ts
File metadata and controls
52 lines (38 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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);
});
});
});
});