use crate::common::{create_config, fixture_path};
#[test]
fn openlayers_dispatched_methods_are_not_flagged() {
let root = fixture_path("issue-1638-openlayers-dispatch");
let config = create_config(root);
let results = fallow_core::analyze(&config).expect("analysis should succeed");
let unused_members: Vec<String> = results
.unused_class_members
.iter()
.map(|m| format!("{}.{}", m.member.parent_name, m.member.member_name))
.collect();
assert!(
!unused_members.contains(&"DragInteraction.handleEvent".to_string()),
"OpenLayers-dispatched `handleEvent` must be credited: {unused_members:?}"
);
assert!(
!unused_members.contains(&"DragInteraction.handleDragEvent".to_string()),
"OpenLayers-dispatched `handleDragEvent` must be credited: {unused_members:?}"
);
assert!(
unused_members.contains(&"DragInteraction.trulyUnused".to_string()),
"a genuinely-unused member on the OpenLayers subclass must still report: {unused_members:?}"
);
assert!(
unused_members.contains(&"FakeInteraction.handleEvent".to_string()),
"a dispatched-name member on a LOCAL (non-OpenLayers) base must still report: \
{unused_members:?}"
);
}