g6/tests/unit/layout/force-web-worker-spec.ts

47 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-12-30 01:21:15 +08:00
// 注意这里不能直接require原始的src文件而要使用build后的文件因为web worker代码是通过worker-loader内联进来的
2019-12-31 12:05:28 +08:00
import G6 from '../../../dist/g6.min';
2019-12-30 01:21:15 +08:00
import data from './data';
const div = document.createElement('div');
div.id = 'force-layout-web-worker';
document.body.appendChild(div);
describe('force layout(web worker)', function() {
2019-12-30 12:00:25 +08:00
// this.timeout(10000);
2019-12-30 01:21:15 +08:00
it('force layout(web worker) with default configs', done => {
2019-12-30 01:21:15 +08:00
const node = data.nodes[0];
let count = 0;
let ended = false;
const graph = new G6.Graph({
container: div,
layout: {
type: 'force',
onTick() {
count++;
expect(node.x).not.toEqual(undefined);
expect(node.y).not.toEqual(undefined);
},
onLayoutEnd() {
ended = true;
},
// use web worker to layout
workerEnabled: true,
},
width: 500,
height: 500,
defaultNode: { size: 10 },
});
graph.data(data);
graph.render();
2019-12-30 01:21:15 +08:00
graph.on('afterlayout', () => {
expect(node.x).not.toEqual(undefined);
expect(node.y).not.toEqual(undefined);
expect(count >= 1).toEqual(true);
expect(ended).toEqual(true);
2019-12-30 01:21:15 +08:00
graph.destroy();
done();
});
});
});