Files
javascript-obfuscator-javas…/test/functional-tests/JavaScriptObfuscatorInternal.spec.ts
T
2016-11-29 14:20:59 +03:00

62 lines
2.7 KiB
TypeScript

import { ServiceIdentifiers } from '../../src/container/ServiceIdentifiers';
import { IInversifyContainerFacade } from '../../src/interfaces/container/IInversifyContainerFacade';
import { IJavaScriptObfuscator } from '../../src/interfaces/IJavaScriptObfsucator';
import { IObfuscationResult } from '../../src/interfaces/IObfuscationResult';
import { NO_CUSTOM_NODES_PRESET } from '../../src/preset-options/NoCustomNodesPreset';
import { InversifyContainerFacade } from '../../src/container/InversifyContainerFacade';
const assert: Chai.AssertStatic = require('chai').assert;
describe('JavaScriptObfuscatorInternal', () => {
describe(`setSourceMapUrl (url: string)`, () => {
let inversifyContainerFacade: IInversifyContainerFacade,
javaScriptObfuscator: IJavaScriptObfuscator,
obfuscationResult: IObfuscationResult,
sourceMapUrl: string = 'test.js.map';
it('should link obfuscated code with source map', () => {
inversifyContainerFacade = new InversifyContainerFacade(
Object.assign({}, NO_CUSTOM_NODES_PRESET, {
sourceMap: true,
sourceMapFileName: sourceMapUrl
})
);
javaScriptObfuscator = inversifyContainerFacade
.get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
obfuscationResult = javaScriptObfuscator.obfuscate('var test = 1;');
assert.match(
obfuscationResult.getObfuscatedCode(),
new RegExp(`sourceMappingURL=${sourceMapUrl}`))
;
assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
});
it('should properly add base url to source map import inside obfuscated code if `sourceMapBaseUrl` is set', () => {
const sourceMapBaseUrl: string = 'http://localhost:9000';
inversifyContainerFacade = new InversifyContainerFacade(
Object.assign({}, NO_CUSTOM_NODES_PRESET, {
sourceMap: true,
sourceMapBaseUrl: sourceMapBaseUrl,
sourceMapFileName: sourceMapUrl
})
);
javaScriptObfuscator = inversifyContainerFacade
.get<IJavaScriptObfuscator>(ServiceIdentifiers.IJavaScriptObfuscator);
obfuscationResult = javaScriptObfuscator.obfuscate('var test = 1;');
assert.match(
obfuscationResult.getObfuscatedCode(),
new RegExp(`sourceMappingURL=${sourceMapBaseUrl}/${sourceMapUrl}$`))
;
assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
});
});
});