123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import * as format from 'string-template';
- import { AtobTemplate } from '../../../../../src/templates/custom-nodes/AtobTemplate';
- import { Rc4Template } from '../../../../../src/templates/custom-nodes/Rc4Template';
- import { StringArrayBase64DecodeNodeTemplate } from '../../../../../src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayBase64DecodeNodeTemplate';
- import { StringArrayCallsWrapperTemplate } from '../../../../../src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayCallsWrapperTemplate';
- import { StringArrayRc4DecodeNodeTemplate } from '../../../../../src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayRC4DecodeNodeTemplate';
- import { CryptUtils } from '../../../../../src/utils/CryptUtils';
- const assert: Chai.AssertStatic = require('chai').assert;
- /**
- * @param templateData
- * @param stringArrayName
- * @param stringArrayCallsWrapperName
- * @param index
- * @returns {Function}
- */
- function getFunctionFromTemplateBase64Encoding (
- templateData: any,
- stringArrayName: string,
- stringArrayCallsWrapperName: string,
- index: string
- ) {
- let stringArrayCallsWrapperTemplate: string = format(StringArrayCallsWrapperTemplate(), templateData);
- return Function(`
- var ${stringArrayName} = ['${CryptUtils.btoa('test1')}'];
-
- ${stringArrayCallsWrapperTemplate}
-
- return ${stringArrayCallsWrapperName}(${index});
- `)();
- }
- /**
- * @param templateData
- * @param stringArrayName
- * @param stringArrayCallsWrapperName
- * @param index
- * @param key
- * @returns {Function}
- */
- function getFunctionFromTemplateRc4Encoding (
- templateData: any,
- stringArrayName: string,
- stringArrayCallsWrapperName: string,
- index: string,
- key: string
- ) {
- let stringArrayCallsWrapperTemplate: string = format(StringArrayCallsWrapperTemplate(), templateData);
- return Function(`
- var ${stringArrayName} = ['${CryptUtils.btoa(CryptUtils.rc4('test1', key))}'];
-
- ${stringArrayCallsWrapperTemplate}
-
- return ${stringArrayCallsWrapperName}('${index}', '${key}');
- `)();
- }
- describe('StringArrayCallsWrapperNodeTemplate (): string', () => {
- let stringArrayName: string = 'stringArrayName',
- stringArrayCallsWrapperName: string = 'stringArrayCallsWrapperName',
- atobDecodeNodeTemplate: string = format(StringArrayBase64DecodeNodeTemplate(), {
- atobPolyfill: AtobTemplate(),
- selfDefendingCode: '',
- stringArrayCallsWrapperName
- }),
- rc4DecodeNodeTemplate: string = format(StringArrayRc4DecodeNodeTemplate(), {
- atobPolyfill: AtobTemplate(),
- rc4Polyfill: Rc4Template(),
- selfDefendingCode: '',
- stringArrayCallsWrapperName
- });
- it('should correctly returns decoded value with base64 encoding', () => {
- assert.deepEqual(getFunctionFromTemplateBase64Encoding({
- decodeNodeTemplate: atobDecodeNodeTemplate,
- stringArrayCallsWrapperName,
- stringArrayName
- }, stringArrayName, stringArrayCallsWrapperName, '0x0'), 'test1');
- });
- it('should correctly returns decoded value with rc4 encoding', () => {
- assert.deepEqual(getFunctionFromTemplateRc4Encoding({
- decodeNodeTemplate: rc4DecodeNodeTemplate,
- stringArrayCallsWrapperName,
- stringArrayName
- }, stringArrayName, stringArrayCallsWrapperName, '0x0', 'key'), 'test1');
- });
- });
|