Remove focus listeners with unbinding tooltip (#9232)

Co-authored-by: Adauji <5890802@ez.edeka.net>
Co-authored-by: Florian Bischof <design.falke@gmail.com>
This commit is contained in:
Mihai Adauji
2025-03-01 12:03:39 +02:00
committed by GitHub
parent ecdb13df2e
commit 7d6bb49a43
2 changed files with 60 additions and 13 deletions

View File

@ -580,4 +580,36 @@ describe('Tooltip', () => {
layer2.openTooltip();
expect(spy2.called).to.be.true;
});
it('removes focus listeners after unbinding tooltip from Layer', () => {
const marker = new Marker([51.515, -0.09]).addTo(map);
marker
.bindTooltip('Tooltip that will be unbinded')
.openTooltip();
expect(marker.getElement()._leaflet_focus_handler).to.be.not.undefined;
marker.unbindTooltip();
expect(() => UIEventSimulator.fire('focus', marker.getElement())).to.not.throw();
expect(marker.getElement()._leaflet_focus_handler).to.be.undefined;
});
it('removes focus listeners after unbinding tooltip from FeatureGroup', () => {
const marker = new Marker([51.515, -0.09]);
const layergroup = new FeatureGroup([marker]).addTo(map);
layergroup
.bindTooltip('Tooltip that will be unbinded in two seconds')
.openTooltip();
expect(marker.getElement()._leaflet_focus_handler).to.be.not.undefined;
layergroup.unbindTooltip();
expect(() => UIEventSimulator.fire('focus', marker.getElement())).to.not.throw();
expect(marker.getElement()._leaflet_focus_handler).to.be.undefined;
});
});