diff --git a/test/JavaScriptObfuscator.spec.ts b/test/JavaScriptObfuscator.spec.ts new file mode 100644 index 00000000..30bc1929 --- /dev/null +++ b/test/JavaScriptObfuscator.spec.ts @@ -0,0 +1,30 @@ +import { JavaScriptObfuscator } from "../src/JavaScriptObfuscator"; + +import { DEFAULT_PRESET } from "../src/preset-options/DefaultPreset"; +import { NO_CUSTOM_NODES_PRESET } from "../src/preset-options/NoCustomNodesPreset"; + +let assert: any = require('chai').assert; + +describe('JavaScriptObfuscator', () => { + describe('obfuscate (sourceCode: string, customOptions?: IOptionsPreset): string', () => { + let code: string; + + it('should obfuscate simple code with variable inside global scope', () => { + code = `var test = 1;`; + + assert.match( + JavaScriptObfuscator.obfuscate(code, Object.assign({}, DEFAULT_PRESET, NO_CUSTOM_NODES_PRESET)), + /^var *[A-Za-z]+ *= *0x\d+;$/ + ); + }); + + it('should obfuscate simple code with variable inside block-scope', () => { + code = `(function () {var test = 1;})()`; + + assert.match( + JavaScriptObfuscator.obfuscate(code, Object.assign({}, DEFAULT_PRESET, NO_CUSTOM_NODES_PRESET)), + /^\(function *\( *\) *\{ *var *_0x[\w]+ *= *0x\d+; *\} *(\( *\) *\)|\) *\( *\));?$/ + ); + }); + }); +}); \ No newline at end of file