|
@@ -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+; *\} *(\( *\) *\)|\) *\( *\));?$/
|
|
|
+ );
|
|
|
+ });
|
|
|
+ });
|
|
|
+});
|