Inline test-only AppContext methods

This commit is contained in:
Antonio Scandurra 2023-05-01 16:49:17 +02:00
parent eb2cce98a7
commit 6c931ab9da
2 changed files with 7 additions and 20 deletions

View File

@ -1062,10 +1062,6 @@ impl AppContext {
}
}
fn dispatch_global_action<A: Action>(&mut self, action: A) {
self.dispatch_global_action_any(&action);
}
fn dispatch_global_action_any(&mut self, action: &dyn Action) -> bool {
self.update(|this| {
if let Some((name, mut handler)) = this.global_actions.remove_entry(&action.id()) {
@ -1907,17 +1903,6 @@ impl AppContext {
});
}
fn handle_dispatch_action_from_effect(
&mut self,
window_id: usize,
view_id: Option<usize>,
action: &dyn Action,
) {
self.update_window(window_id, |cx| {
cx.handle_dispatch_action_from_effect(view_id, action)
});
}
fn handle_action_dispatch_notification_effect(&mut self, action_id: TypeId) {
self.action_dispatch_observations
.clone()

View File

@ -72,14 +72,16 @@ impl TestAppContext {
}
pub fn dispatch_action<A: Action>(&self, window_id: usize, action: A) {
let mut cx = self.cx.borrow_mut();
if let Some(view_id) = cx.windows.get(&window_id).and_then(|w| w.focused_view_id) {
cx.handle_dispatch_action_from_effect(window_id, Some(view_id), &action);
}
self.cx
.borrow_mut()
.update_window(window_id, |window| {
window.handle_dispatch_action_from_effect(window.focused_view_id(), &action);
})
.expect("window not found");
}
pub fn dispatch_global_action<A: Action>(&self, action: A) {
self.cx.borrow_mut().dispatch_global_action(action);
self.cx.borrow_mut().dispatch_global_action_any(&action);
}
pub fn dispatch_keystroke(&mut self, window_id: usize, keystroke: Keystroke, is_held: bool) {