mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 18:34:02 +00:00
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import * as Cesium from 'cesium';
|
|
import { createTrail } from './trailRenderer.js';
|
|
|
|
test('trail visibility can change without discarding its accumulated geometry', () => {
|
|
const added = [];
|
|
const removed = [];
|
|
const viewer = {
|
|
isDestroyed: () => false,
|
|
entities: {
|
|
add(definition) {
|
|
added.push(definition);
|
|
return definition;
|
|
},
|
|
remove(entity) {
|
|
removed.push(entity);
|
|
},
|
|
},
|
|
};
|
|
const trail = createTrail(viewer, { color: '#ffffff' });
|
|
const positions = [
|
|
new Cesium.Cartesian3(1, 2, 3),
|
|
new Cesium.Cartesian3(4, 5, 6),
|
|
];
|
|
|
|
trail.setVisible(false);
|
|
trail.setPositions(positions);
|
|
assert.equal(added.length, 1);
|
|
assert.equal(added[0].show, false);
|
|
assert.deepEqual(added[0].polyline.positions.getValue(), positions);
|
|
|
|
trail.setVisible(true);
|
|
assert.equal(added[0].show, true);
|
|
assert.deepEqual(added[0].polyline.positions.getValue(), positions);
|
|
|
|
trail.destroy();
|
|
assert.deepEqual(removed, [added[0]]);
|
|
});
|