mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-12 03:01:16 +00:00
48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
import {
|
|
evaluate,
|
|
evaluateExpression,
|
|
newFunction,
|
|
} from '../../src/script';
|
|
|
|
describe('evaluate', () => {
|
|
test('should evaluate the given script', () => {
|
|
const script = 'console.log("Hello, world!");';
|
|
global.console = { log: jest.fn() };
|
|
|
|
evaluate(script);
|
|
|
|
expect(global.console.log).toHaveBeenCalledWith('Hello, world!');
|
|
});
|
|
});
|
|
|
|
describe('evaluateExpression', () => {
|
|
test('should evaluate the given expression', () => {
|
|
const expr = 'return 1 + 2';
|
|
|
|
const result = evaluateExpression(expr);
|
|
|
|
expect(result).toBe(3);
|
|
});
|
|
});
|
|
|
|
describe('newFunction', () => {
|
|
test('should create a new function with the given arguments and code', () => {
|
|
const args = 'a, b';
|
|
const code = 'return a + b';
|
|
|
|
const result = newFunction(args, code);
|
|
|
|
expect(result).toBeInstanceOf(Function);
|
|
expect(result(1, 2)).toBe(3);
|
|
});
|
|
|
|
test('should return null if an error occurs', () => {
|
|
const args = 'a, b';
|
|
const code = 'return a +;'; // Invalid code
|
|
|
|
const result = newFunction(args, code);
|
|
|
|
expect(result).toBeNull();
|
|
});
|
|
});
|