mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
fix: stop Cockpit work before asynchronous UI teardown
This commit is contained in:
1 parent
947fc79182
commit
152d3e2352
11 files changed
+150
-15
No files matched your search
@@ -141,3 +141,26 @@ test('an obsolete regional briefing cannot publish after Cockpit disposal', asyn
|
||||
env.restore();
|
||||
}
|
||||
});
|
||||
|
||||
test('stopping Cockpit revokes camera actions before deferred disposal releases rendering', () => {
|
||||
const env = environment();
|
||||
try {
|
||||
const released = [];
|
||||
const owner = new CockpitViewController(env.viewer, {
|
||||
services: {
|
||||
releaseContinuousRender: (reason) => released.push(reason),
|
||||
},
|
||||
});
|
||||
owner.active = true;
|
||||
owner.stop();
|
||||
assert.equal(env.callbacks.size, 0);
|
||||
assert.equal(owner.update(), false);
|
||||
assert.equal(owner.navigateContext(1), false);
|
||||
assert.deepEqual(released, []);
|
||||
owner.dispose();
|
||||
assert.deepEqual(released, ['cockpit']);
|
||||
assert.equal(owner.active, false);
|
||||
} finally {
|
||||
env.restore();
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user