mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
FunctionObfuscator tests
This commit is contained in:
+31
-4
@@ -1,8 +1,10 @@
|
||||
import * as escodegen from 'escodegen';
|
||||
|
||||
import { TExpression } from "../../src/types/nodes/TExpression";
|
||||
import { TStatement } from "../../src/types/nodes/TStatement";
|
||||
|
||||
import { IBlockStatementNode } from "../../src/interfaces/nodes/IBlockStatementNode";
|
||||
import { ICallExpressionNode } from "../../src/interfaces/nodes/ICallExpressionNode";
|
||||
import { ICatchClauseNode } from "../../src/interfaces/nodes/ICatchClauseNode";
|
||||
import { IExpressionStatementNode } from "../../src/interfaces/nodes/IExpressionStatementNode";
|
||||
import { IFunctionDeclarationNode } from "../../src/interfaces/nodes/IFunctionDeclarationNode";
|
||||
@@ -10,6 +12,7 @@ import { IIdentifierNode } from "../../src/interfaces/nodes/IIdentifierNode";
|
||||
import { IIfStatementNode } from "../../src/interfaces/nodes/IIfStatementNode";
|
||||
import { ILiteralNode } from "../../src/interfaces/nodes/ILiteralNode";
|
||||
import { IProgramNode } from "../../src/interfaces/nodes/IProgramNode";
|
||||
import { ISpreadElementNode } from "../../src/interfaces/nodes/ISpreadElementNode";
|
||||
|
||||
import { NodeType } from "../../src/enums/NodeType";
|
||||
|
||||
@@ -49,25 +52,49 @@ export class NodeMocks {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param callee
|
||||
* @param args
|
||||
* @returns {ICallExpressionNode}
|
||||
*/
|
||||
public static getCallExpressionNode (
|
||||
callee: TExpression,
|
||||
args: TExpression[] | ISpreadElementNode[] = []
|
||||
): ICallExpressionNode {
|
||||
return {
|
||||
type: NodeType.CallExpression,
|
||||
callee: callee,
|
||||
arguments: args
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param expression
|
||||
* @returns {IExpressionStatementNode}
|
||||
*/
|
||||
public static getExpressionStatementNode (): IExpressionStatementNode {
|
||||
public static getExpressionStatementNode (
|
||||
expression: TExpression = NodeMocks.getIdentifierNode()
|
||||
): IExpressionStatementNode {
|
||||
return {
|
||||
type: NodeType.ExpressionStatement,
|
||||
expression: NodeMocks.getIdentifierNode()
|
||||
expression: expression
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param functionName
|
||||
* @param blockStatementNode
|
||||
* @param params
|
||||
* @returns {IFunctionDeclarationNode}
|
||||
*/
|
||||
public static getFunctionDeclarationNode (functionName: string, blockStatementNode: IBlockStatementNode): IFunctionDeclarationNode {
|
||||
public static getFunctionDeclarationNode (
|
||||
functionName: string,
|
||||
blockStatementNode: IBlockStatementNode,
|
||||
params: IIdentifierNode[] = []
|
||||
): IFunctionDeclarationNode {
|
||||
return {
|
||||
type: NodeType.FunctionDeclaration,
|
||||
id: NodeMocks.getIdentifierNode(functionName),
|
||||
params: [],
|
||||
params: params,
|
||||
body: blockStatementNode,
|
||||
generator: false,
|
||||
expression: false
|
||||
|
||||
Reference in New Issue
Block a user