Skip to content

Commit

Permalink
test: add test case
Browse files Browse the repository at this point in the history
  • Loading branch information
Aarebecca committed Jul 18, 2024
1 parent 443d0ca commit 4c1b63a
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
1 change: 1 addition & 0 deletions __tests__/demos/canvas/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { switchRenderer } from './switch-renderer';
37 changes: 37 additions & 0 deletions __tests__/demos/canvas/switch-renderer.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { Circle } from '../../../packages/g';
import { Renderer as CanvasRenderer } from '../../../packages/g-canvas';
import { Renderer as SVGRenderer } from '../../../packages/g-svg';
import { Renderer as WebGLRenderer } from '../../../packages/g-webgl';

export async function switchRenderer(context) {
const { canvas, gui } = context;

await canvas.ready;

const circle = new Circle({
style: {
cx: 100,
cy: 100,
r: 50,
fill: 'red',
},
});

canvas.appendChild(circle);

const folder = gui.addFolder('renderer');
folder
.add({ renderer: 'canvas' }, 'renderer', ['canvas', 'svg', 'webgl'])
.onChange((name) => {
let renderer;
if (name === 'canvas') renderer = new CanvasRenderer();
else if (name === 'svg') renderer = new SVGRenderer();
else if (name === 'webgl') renderer = new WebGLRenderer();

canvas.setRenderer(renderer);

canvas.ready.then(() => {
alert(`Switch to ${name} renderer`);
});
});
}
2 changes: 2 additions & 0 deletions __tests__/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import * as perf from './demos/perf';
import * as bugfix from './demos/bugfix';
import * as event from './demos/event';
import * as camera from './demos/camera';
import * as canvasCase from './demos/canvas';

const tests = {
...createSpecRender(namespace(basic2d, '2d')),
Expand All @@ -31,6 +32,7 @@ const tests = {
...createSpecRender(namespace(perf, 'perf')),
...createSpecRender(namespace(event, 'event')),
...createSpecRender(namespace(camera, 'camera')),
...createSpecRender(namespace(canvasCase, 'canvas')),
};

const renderers = {
Expand Down

0 comments on commit 4c1b63a

Please sign in to comment.