Files
javascript-obfuscator-javas…/test/functional-tests/JavaScriptObfuscatorInternal.spec.ts
T

59 lines
2.2 KiB
TypeScript

import { IObfuscationResult } from '../../src/interfaces/IObfuscationResult';
import { JavaScriptObfuscatorInternal } from '../../src/JavaScriptObfuscatorInternal';
import { NO_CUSTOM_NODES_PRESET } from '../../src/preset-options/NoCustomNodesPreset';
const assert: Chai.AssertStatic = require('chai').assert;
describe('JavaScriptObfuscatorInternal', () => {
describe(`setSourceMapUrl (url: string)`, () => {
let javaScriptObfuscator: JavaScriptObfuscatorInternal,
obfuscationResult: IObfuscationResult,
sourceMapUrl: string = 'test.js.map';
it('should link obfuscated code with source map', () => {
javaScriptObfuscator = new JavaScriptObfuscatorInternal(
`var test = 1;`,
Object.assign({}, NO_CUSTOM_NODES_PRESET, {
sourceMap: true,
sourceMapFileName: sourceMapUrl
})
);
javaScriptObfuscator.obfuscate();
obfuscationResult = javaScriptObfuscator.getObfuscationResult();
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', () => {
let sourceMapBaseUrl: string = 'http://localhost:9000';
javaScriptObfuscator = new JavaScriptObfuscatorInternal(
`var test = 1;`,
Object.assign({}, NO_CUSTOM_NODES_PRESET, {
sourceMap: true,
sourceMapBaseUrl: sourceMapBaseUrl,
sourceMapFileName: sourceMapUrl
})
);
javaScriptObfuscator.obfuscate();
obfuscationResult = javaScriptObfuscator.getObfuscationResult();
assert.match(
obfuscationResult.getObfuscatedCode(),
new RegExp(`sourceMappingURL=${sourceMapBaseUrl}/${sourceMapUrl}$`))
;
assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
});
});
});