mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-12 19:25:48 +00:00
test: add ut for render-core/adapter
This commit is contained in:
parent
bf2562e0e9
commit
567fd56cfe
@ -25,19 +25,19 @@ class Adapter {
|
|||||||
setState() {}
|
setState() {}
|
||||||
forceUpdate() {}
|
forceUpdate() {}
|
||||||
render() {}
|
render() {}
|
||||||
state: {};
|
state: Record<string, unknown>;
|
||||||
props: {};
|
props: Record<string, unknown>;
|
||||||
refs: {};
|
refs: Record<string, unknown>;
|
||||||
context: {};
|
context: Record<string, unknown>;
|
||||||
};
|
};
|
||||||
const PureComponent: IGeneralConstructor = class {
|
const PureComponent: IGeneralConstructor = class {
|
||||||
setState() {}
|
setState() {}
|
||||||
forceUpdate() {}
|
forceUpdate() {}
|
||||||
render() {}
|
render() {}
|
||||||
state: {};
|
state: Record<string, unknown>;
|
||||||
props: {};
|
props: Record<string, unknown>;
|
||||||
refs: {};
|
refs: Record<string, unknown>;
|
||||||
context: {};
|
context: Record<string, unknown>;
|
||||||
};
|
};
|
||||||
const createElement = () => {};
|
const createElement = () => {};
|
||||||
const createContext = () => {};
|
const createContext = () => {};
|
||||||
@ -64,10 +64,10 @@ class Adapter {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.builtinModules.every(m => {
|
return this.builtinModules.every((m) => {
|
||||||
const flag = !!this.runtime[m];
|
const flag = !!runtime[m];
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
throw new Error(`runtime is inValid, module '${m}' is not existed`);
|
throw new Error(`runtime is invalid, module '${m}' does not exist`);
|
||||||
}
|
}
|
||||||
return flag;
|
return flag;
|
||||||
});
|
});
|
||||||
|
|||||||
107
packages/renderer-core/tests/adapter/adapter.test.ts
Normal file
107
packages/renderer-core/tests/adapter/adapter.test.ts
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
// @ts-nocheck
|
||||||
|
import adapter, { Env } from '../../src/adapter';
|
||||||
|
import { IRuntime, IRendererModules, IGeneralConstructor } from '../../src/types';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
describe('test src/adapter ', () => {
|
||||||
|
|
||||||
|
it('adapter basic use works', () => {
|
||||||
|
expect(adapter).toBeTruthy();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
it('isValidRuntime works', () => {
|
||||||
|
expect(adapter.isValidRuntime([] as any)).toBeFalsy();
|
||||||
|
|
||||||
|
expect(adapter.isValidRuntime('' as any)).toBeFalsy();
|
||||||
|
|
||||||
|
let invalidRuntime = {};
|
||||||
|
expect(() => adapter.isValidRuntime(invalidRuntime as any)).toThrowError(/Component/);
|
||||||
|
invalidRuntime = {
|
||||||
|
Component: {},
|
||||||
|
};
|
||||||
|
expect(() => adapter.isValidRuntime(invalidRuntime as any)).toThrowError(/PureComponent/);
|
||||||
|
invalidRuntime = {
|
||||||
|
Component: {},
|
||||||
|
PureComponent: {},
|
||||||
|
};
|
||||||
|
expect(() => adapter.isValidRuntime(invalidRuntime as any)).toThrowError(/createElement/);
|
||||||
|
invalidRuntime = {
|
||||||
|
Component: {},
|
||||||
|
PureComponent: {},
|
||||||
|
createElement: {},
|
||||||
|
};
|
||||||
|
expect(() => adapter.isValidRuntime(invalidRuntime as any)).toThrowError(/createContext/);
|
||||||
|
invalidRuntime = {
|
||||||
|
Component: {},
|
||||||
|
PureComponent: {},
|
||||||
|
createElement: {},
|
||||||
|
createContext: {},
|
||||||
|
};
|
||||||
|
expect(() => adapter.isValidRuntime(invalidRuntime as any)).toThrowError(/forwardRef/);
|
||||||
|
invalidRuntime = {
|
||||||
|
Component: {},
|
||||||
|
PureComponent: {},
|
||||||
|
createElement: {},
|
||||||
|
createContext: {},
|
||||||
|
forwardRef: {},
|
||||||
|
};
|
||||||
|
expect(() => adapter.isValidRuntime(invalidRuntime as any)).toThrowError(/findDOMNode/);
|
||||||
|
const validRuntime = {
|
||||||
|
Component: {},
|
||||||
|
PureComponent: {},
|
||||||
|
createElement: {},
|
||||||
|
createContext: {},
|
||||||
|
forwardRef: {},
|
||||||
|
findDOMNode: {},
|
||||||
|
};
|
||||||
|
|
||||||
|
expect(adapter.isValidRuntime(validRuntime as any)).toBeTruthy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('setRuntime/getRuntime works', () => {
|
||||||
|
const validRuntime = {
|
||||||
|
Component: {},
|
||||||
|
PureComponent: {},
|
||||||
|
createElement: {},
|
||||||
|
createContext: {},
|
||||||
|
forwardRef: {},
|
||||||
|
findDOMNode: {},
|
||||||
|
};
|
||||||
|
|
||||||
|
adapter.setRuntime(validRuntime as any);
|
||||||
|
expect(adapter.getRuntime()).toBe(validRuntime);
|
||||||
|
|
||||||
|
// won`t work when invalid runtime paased in.
|
||||||
|
adapter.setRuntime([] as any);
|
||||||
|
expect(adapter.getRuntime()).toBe(validRuntime);
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
it('setEnv/.env/isReact/isRax works', () => {
|
||||||
|
adapter.setEnv(Env.React);
|
||||||
|
expect(adapter.env).toBe(Env.React);
|
||||||
|
expect(adapter.isReact()).toBeTruthy();
|
||||||
|
expect(adapter.isRax()).toBeFalsy();
|
||||||
|
adapter.setEnv(Env.Rax);
|
||||||
|
expect(adapter.env).toBe(Env.Rax);
|
||||||
|
expect(adapter.isRax()).toBeTruthy();
|
||||||
|
expect(adapter.isReact()).toBeFalsy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('setRenderers/getRenderers works', () => {
|
||||||
|
const mockRenderers = { BaseRenderer: {} as IBaseRenderComponent};
|
||||||
|
adapter.setRenderers(mockRenderers);
|
||||||
|
expect(adapter.getRenderers()).toBe(mockRenderers);
|
||||||
|
adapter.setRenderers(undefined);
|
||||||
|
expect(adapter.getRenderers()).toStrictEqual({});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('setConfigProvider/getConfigProvider works', () => {
|
||||||
|
const mockConfigProvider = { a: 111 };
|
||||||
|
adapter.setConfigProvider(mockConfigProvider);
|
||||||
|
expect(adapter.getConfigProvider()).toBe(mockConfigProvider);
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user