diff --git a/dist/index.js b/dist/index.js index 4b988052..2da09817 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2792,7 +2792,7 @@ exports.FunctionObfuscator = FunctionObfuscator; "use strict"; "use strict"; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -3205,7 +3205,7 @@ exports.BooleanLiteralReplacer = BooleanLiteralReplacer; "use strict"; "use strict"; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -3734,7 +3734,7 @@ exports.AtobTemplate = AtobTemplate; "use strict"; function ConsoleOutputDisableExpressionTemplate() { - return "\n (function () {\n var _ = '(\x04\x06\x03\x05[]' + '[\"filter\"][\"\x07tructor\"]' + '(\"return this\")()' + '.' + '\x03;\x06\x02\x05\x04};' + '_\x03.log\x01.in' + 'fo\x01.' + 'war' + 'n\x01.er' + 'r' + 'or\x01})();' + '\x01\x05_\x02;' + '_\x03\x02function' + '\x03\x07ole\x04\x02 ()' + '{\x05 = \x06var ' + '_\x07cons', \n Y, \n $;\n \n for (Y in $ = \"\x07\x06\x05\x04\x03\x02\x01\") {\n var arr = _.split($[Y]);\n _ = arr.join(arr.pop());\n }\n \n [][\"filter\"][\"constructor\"](_)();\n })()\n "; + return "\n (function () {\n var _ = '(\u0004\u0006\u0003\u0005[]' + '[\"filter\"][\"\u0007tructor\"]' + '(\"return this\")()' + '.' + '\u0003;\u0006\u0002\u0005\u0004};' + '_\u0003.log\u0001.in' + 'fo\u0001.' + 'war' + 'n\u0001.er' + 'r' + 'or\u0001})();' + '\u0001\u0005_\u0002;' + '_\u0003\u0002function' + '\u0003\u0007ole\u0004\u0002 ()' + '{\u0005 = \u0006var ' + '_\u0007cons', \n Y, \n $;\n \n for (Y in $ = \"\u0007\u0006\u0005\u0004\u0003\u0002\u0001\") {\n var arr = _.split($[Y]);\n _ = arr.join(arr.pop());\n }\n \n [][\"filter\"][\"constructor\"](_)();\n })()\n "; } exports.ConsoleOutputDisableExpressionTemplate = ConsoleOutputDisableExpressionTemplate; diff --git a/test/performance-tests/JavaScriptObfuscatorPerformance.spec.ts b/test/performance-tests/JavaScriptObfuscatorPerformance.spec.ts index a50ea1fd..9266c977 100644 --- a/test/performance-tests/JavaScriptObfuscatorPerformance.spec.ts +++ b/test/performance-tests/JavaScriptObfuscatorPerformance.spec.ts @@ -7,15 +7,25 @@ const assert: Chai.AssertStatic = require('chai').assert; describe('JavaScriptObfuscator performance', () => { const iterationsCount: number = 500; - describe('performance', () => { - it('should returns object with obfuscated code and empty source map', function (): void { - this.timeout(15000); + describe('performance: multiple calls', () => { + it('shows performance time with multiple obfuscator calls', function (): void { + this.timeout(10000); for (let i: number = 0; i < iterationsCount; i++) { JavaScriptObfuscator.obfuscate(readFileAsString('./test/fixtures/sample.js')); } - assert.equal(1, 1); + assert.isOk(true); + }); + }); + + describe('performance: large source code', () => { + it('shows performance time with large code size', function (): void { + this.timeout(5000); + + JavaScriptObfuscator.obfuscate(readFileAsString('./test/fixtures/sample.js').repeat(iterationsCount)); + + assert.isOk(true); }); }); });