index.spec.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. import 'reflect-metadata';
  2. require('source-map-support').install();
  3. /**
  4. * Unit tests
  5. */
  6. import './unit-tests/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.spec';
  7. import './unit-tests/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.spec';
  8. import './unit-tests/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.spec';
  9. import './unit-tests/analyzers/scope-analyzer/ScopeAnalyzer.spec';
  10. import './unit-tests/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.spec';
  11. import './unit-tests/cli/sanitizers/ArraySanitizer.spec';
  12. import './unit-tests/cli/sanitizers/BooleanSanitizer.spec';
  13. import './unit-tests/cli/sanitizers/IdentifierNamesGeneratorSanitizer.spec';
  14. import './unit-tests/cli/sanitizers/ObfuscationTargetSanitizer.spec';
  15. import './unit-tests/cli/sanitizers/SourceMapModeSanitizer.spec';
  16. import './unit-tests/cli/sanitizers/StringArrayEncodingSanitizer.spec';
  17. import './unit-tests/cli/utils/CLIUtils.spec';
  18. import './unit-tests/cli/utils/ObfuscatedCodeWriter.spec';
  19. import './unit-tests/cli/utils/SourceCodeReader.spec';
  20. import './unit-tests/decorators/initializable/Initializable.spec';
  21. import './unit-tests/generators/identifier-names-generators/DictionarylIdentifierNamesGenerator.spec';
  22. import './unit-tests/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.spec';
  23. import './unit-tests/generators/identifier-names-generators/MangledlIdentifierNamesGenerator.spec';
  24. import './unit-tests/generators/identifier-names-generators/MangledShuffledlIdentifierNamesGenerator.spec';
  25. import './unit-tests/javascript-obfuscator/ASTParserFacade.spec';
  26. import './unit-tests/javascript-obfuscator/JavaScriptObfuscator.spec';
  27. import './unit-tests/logger/Logger.spec';
  28. import './unit-tests/node/node-appender/NodeAppender.spec';
  29. import './unit-tests/node/node-guards/NodeGuards.spec';
  30. import './unit-tests/node/node-metadata/NodeMetadata.spec';
  31. import './unit-tests/node/node-lexical-scope-utils/NodeLexicalScopeUtils.spec';
  32. import './unit-tests/node/node-literal-utils/NodeLiteralUtils.spec';
  33. import './unit-tests/node/node-statement-utils/NodeStatementUtils.spec';
  34. import './unit-tests/node/node-utils/NodeUtils.spec';
  35. import './unit-tests/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.spec';
  36. import './unit-tests/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/BooleanLiteralObfuscatingReplacer.spec';
  37. import './unit-tests/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/NumberLiteralObfuscatingReplacer.spec';
  38. import './unit-tests/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/StringLiteralObfuscatingReplacer.spec';
  39. import './unit-tests/options/ValidationErrorsFormatter.spec';
  40. import './unit-tests/source-code/ObfuscatedCode.spec';
  41. import './unit-tests/storages/ArrayStorage.spec';
  42. import './unit-tests/storages/MapStorage.spec';
  43. import './unit-tests/storages/string-array/StringArrayStorage.spec';
  44. import './unit-tests/utils/ArrayUtils.spec';
  45. import './unit-tests/utils/CryptUtils.spec';
  46. import './unit-tests/utils/CryptUtilsSwappedAlphabet.spec';
  47. import './unit-tests/utils/EscapeSequenceEncoder.spec';
  48. import './unit-tests/utils/LevelledTopologicalSorter.spec';
  49. import './unit-tests/utils/NumberUtils.spec';
  50. import './unit-tests/utils/Utils.spec';
  51. /**
  52. * Functional tests
  53. */
  54. import './functional-tests/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.spec';
  55. import './functional-tests/cli/JavaScriptObfuscatorCLI.spec';
  56. import './functional-tests/code-transformers/preparing-transformers/hashbang-operator-transformer/HashbangOperatorTransformer.spec';
  57. import './functional-tests/custom-code-helpers/console-output/ConsoleOutputDisableExpressionCodeHelper.spec';
  58. import './functional-tests/custom-code-helpers/console-output/templates/ConsoleOutputDisableExpressionTemplate.spec';
  59. import './functional-tests/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.spec';
  60. import './functional-tests/custom-code-helpers/debug-protection/templates/DebugProtectionFunctionCallTemplate.spec';
  61. import './functional-tests/custom-code-helpers/domain-lock/DomainLockCodeHelper.spec';
  62. import './functional-tests/custom-code-helpers/domain-lock/templates/DomainLockNodeTemplate.spec';
  63. import './functional-tests/custom-code-helpers/self-defending/SelfDefendingCodeHelper.spec';
  64. import './functional-tests/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.spec';
  65. import './functional-tests/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.spec';
  66. import './functional-tests/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.spec';
  67. import './functional-tests/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.spec';
  68. import './functional-tests/custom-code-helpers/string-array/StringArrayCodeHelper.spec';
  69. import './functional-tests/custom-code-helpers/string-array/templates/string-array-template/StringArrayTemplate.spec';
  70. import './functional-tests/custom-code-helpers/string-array/templates/string-array-calls-wrapper-node-template/StringArrayCallsWrapperNodeTemplate.spec';
  71. import './functional-tests/custom-code-helpers/string-array/templates/string-array-rotate-function-template/StringArrayRotateFunctionTemplate.spec';
  72. import './functional-tests/generators/identifier-names-generators/dictionary-identifier-names-generator/DictionaryIdentifierNamesGenerator.spec';
  73. import './functional-tests/generators/identifier-names-generators/mangled-identifier-names-generator/MangledIdentifierNamesGenerator.spec';
  74. import './functional-tests/generators/identifier-names-generators/mangled-shuffled-identifier-names-generator/MangledShuffledIdentifierNamesGenerator.spec';
  75. import './functional-tests/issues/issue321.spec';
  76. import './functional-tests/issues/issue355.spec';
  77. import './functional-tests/issues/issue419.spec';
  78. import './functional-tests/issues/issue424.spec';
  79. import './functional-tests/issues/issue437.spec';
  80. import './functional-tests/javascript-obfuscator/JavaScriptObfuscator.spec';
  81. import './functional-tests/node-transformers/control-flow-transformers/block-statement-control-flow-transformer/BlockStatementControlFlowTransformer.spec';
  82. import './functional-tests/node-transformers/control-flow-transformers/function-control-flow-transformer/FunctionControlFlowTransformer.spec';
  83. import './functional-tests/node-transformers/control-flow-transformers/control-flow-replacers/binary-expression-control-flow-replacer/BinaryExpressionControlFlowReplacer.spec';
  84. import './functional-tests/node-transformers/control-flow-transformers/control-flow-replacers/call-expression-control-flow-replacer/CallExpressionControlFlowReplacer.spec';
  85. import './functional-tests/node-transformers/control-flow-transformers/control-flow-replacers/logical-expression-control-flow-replacer/LogicalExpressionControlFlowReplacer.spec';
  86. import './functional-tests/node-transformers/control-flow-transformers/control-flow-replacers/string-litertal-control-flow-replacer/StringLiteralControlFlowReplacer.spec';
  87. import './functional-tests/node-transformers/converting-transformers/member-expression-transformer/MemberExpressionTransformer.spec';
  88. import './functional-tests/node-transformers/converting-transformers/method-definition-transformer/MethodDefinitionTransformer.spec';
  89. import './functional-tests/node-transformers/converting-transformers/numbers-to-numerical-expressions-transformer/NumbersToNumericalExpressionsTransformer.spec';
  90. import './functional-tests/node-transformers/converting-transformers/object-expression-keys-transformer/ObjectExpressionKeysTransformer.spec';
  91. import './functional-tests/node-transformers/converting-transformers/object-expression-transformer/ObjectExpressionTransformer.spec';
  92. import './functional-tests/node-transformers/converting-transformers/object-pattern-properties-transformer/ObjectPatternPropertiesTransformer.spec';
  93. import './functional-tests/node-transformers/converting-transformers/split-string-transformer/SplitStringTransformer.spec';
  94. import './functional-tests/node-transformers/converting-transformers/template-literal-transformer/TemplateLiteralTransformer.spec';
  95. import './functional-tests/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.spec';
  96. import './functional-tests/node-transformers/initializing-transformers/comments-transformer/CommentsTransformer.spec';
  97. import './functional-tests/node-transformers/simplifying-transformers/block-statement-simplify-transformer/BlockStatementSimplifyTransformer.spec';
  98. import './functional-tests/node-transformers/simplifying-transformers/expression-statements-merge-transformer/ExpressionStatementsMergeTransformer.spec';
  99. import './functional-tests/node-transformers/simplifying-transformers/if-statement-simplify-transformer/IfStatementSimplifyTransformer.spec';
  100. import './functional-tests/node-transformers/simplifying-transformers/variable-declarations-merge-transformer/VariableDeclarationsMergeTransformer.spec';
  101. import './functional-tests/node-transformers/obfuscating-transformers/labeled-statement-transformer/LabeledStatementTransformer.spec';
  102. import './functional-tests/node-transformers/obfuscating-transformers/literal-transformer/LiteralTransformer.spec';
  103. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/catch-clause/CatchClause.spec';
  104. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/class-declaration/ClassDeclaration.spec';
  105. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/class-expression/ClassExpression.spec';
  106. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/function-declaration/FunctionDeclaration.spec';
  107. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/function/Function.spec';
  108. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/import-declaration/ImportDeclaration.spec';
  109. import './functional-tests/node-transformers/obfuscating-transformers/scope-identifiers-transformer/variable-declaration/VariableDeclaration.spec';
  110. import './functional-tests/node-transformers/obfuscating-transformers/obfuscating-replacers/identifier-obfuscating-replacers/BaseIdentifierObfuscatingReplacer.spec';
  111. import './functional-tests/node-transformers/preparing-transformers/eval-call-expression-transformer/EvalCallExpressionTransformer.spec';
  112. import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/black-list-obfuscating-guard/BlackListObfuscatingGuard.spec';
  113. import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/conditional-comment-obfuscating-guard/ConditionalCommentObfuscatingGuard.spec';
  114. import './functional-tests/node-transformers/preparing-transformers/obfuscating-guards/reserved-string-obfuscating-guard/ReservedStringObfuscatingGuard.spec';
  115. import './functional-tests/node-transformers/preparing-transformers/variable-preserve-transformer/VariablePreserveTransformer.spec';
  116. import './functional-tests/node-transformers/rename-properties-transformers/rename-properties-transformer/RenamePropertiesTransformer.spec';
  117. import './functional-tests/options/OptionsNormalizer.spec';
  118. import './functional-tests/options/domain-lock/Validation.spec';
  119. import './functional-tests/storages/string-array-storage/StringArrayStorage.spec';
  120. /**
  121. * Performance tests
  122. */
  123. import './performance-tests/JavaScriptObfuscatorPerformance.spec';
  124. /**
  125. * Runtime tests
  126. */
  127. import './runtime-tests/JavaScriptObfuscatorRuntime.spec';