mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
UnicodeArrayDecodeNodeTemplate spec + deps update
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
import 'format-unicorn';
|
||||
|
||||
import { AtobTemplate } from "../../../../../src/templates/custom-nodes/AtobTemplate";
|
||||
import { UnicodeArrayDecodeNodeTemplate } from "../../../../../src/templates/custom-nodes/unicode-array-nodes/unicode-array-decode-node/UnicodeArrayDecodeNodeTemplate";
|
||||
|
||||
import { Utils } from "../../../../../src/Utils";
|
||||
|
||||
const assert: Chai.AssertStatic = require('chai').assert;
|
||||
|
||||
/**
|
||||
* @param templateData
|
||||
* @param unicodeArrayName
|
||||
* @returns {Function}
|
||||
*/
|
||||
function getFunctionFromTemplate (templateData: any, unicodeArrayName: string) {
|
||||
let domainLockTemplate: string = UnicodeArrayDecodeNodeTemplate().formatUnicorn(templateData);
|
||||
|
||||
return Function(`
|
||||
var ${unicodeArrayName} = ['${Utils.btoa('test1')}', '${Utils.btoa('test2')}'];
|
||||
|
||||
${domainLockTemplate}
|
||||
|
||||
return ${unicodeArrayName};
|
||||
`)();
|
||||
}
|
||||
|
||||
describe('UnicodeArrayDecodeNodeTemplate (): string', () => {
|
||||
let forLoopFunctionName: string = 'forLoop',
|
||||
code: string = `${forLoopFunctionName}();`,
|
||||
unicodeArrayName: string = 'unicodeArray';
|
||||
|
||||
it('should correctly decode unicode array items from Base64', () => {
|
||||
assert.deepEqual(getFunctionFromTemplate({
|
||||
atobPolyfill: AtobTemplate(),
|
||||
code,
|
||||
forLoopFunctionName,
|
||||
unicodeArrayName: unicodeArrayName
|
||||
}, unicodeArrayName), ['test1', 'test2']);
|
||||
});
|
||||
|
||||
});
|
||||
+2
-1
@@ -34,4 +34,5 @@ import './functional-tests/node-obfuscators/MemberExpressionObfuscator.spec';
|
||||
import './functional-tests/node-obfuscators/MethodDefinitionObfuscator.spec';
|
||||
import './functional-tests/node-obfuscators/ObjectExpressionObfuscator.spec';
|
||||
import './functional-tests/node-obfuscators/VariableDeclarationObfuscator.spec';
|
||||
import './functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNode.spec';
|
||||
import './functional-tests/templates/custom-nodes/domain-lock-nodes/DomainLockNodeTemplate.spec';
|
||||
import './functional-tests/templates/custom-nodes/unicode-array-nodes/UnicodeArrayDecodeNodeTemplate.spec';
|
||||
|
||||
Reference in New Issue
Block a user