Add a better API for updating settings in the SettingsStore in tests

This commit is contained in:
Max Brunsfeld 2023-05-11 14:39:43 -07:00
parent bc5b78198a
commit 9ae10a5dd9
3 changed files with 42 additions and 23 deletions

View file

@ -21,8 +21,8 @@ impl<'a> VimTestContext<'a> {
search::init(cx);
crate::init(cx);
cx.update_global(|store: &mut SettingsStore, _| {
store.replace_value(VimModeSetting(enabled));
cx.update_global(|store: &mut SettingsStore, cx| {
store.update_user_settings::<VimModeSetting>(cx, |s| *s = Some(enabled));
});
settings::KeymapFileContent::load("keymaps/vim.json", cx).unwrap();
@ -53,16 +53,16 @@ impl<'a> VimTestContext<'a> {
pub fn enable_vim(&mut self) {
self.cx.update(|cx| {
cx.update_global(|store: &mut SettingsStore, _| {
store.replace_value(VimModeSetting(true))
cx.update_global(|store: &mut SettingsStore, cx| {
store.update_user_settings::<VimModeSetting>(cx, |s| *s = Some(true));
});
})
}
pub fn disable_vim(&mut self) {
self.cx.update(|cx| {
cx.update_global(|store: &mut SettingsStore, _| {
store.replace_value(VimModeSetting(false))
cx.update_global(|store: &mut SettingsStore, cx| {
store.update_user_settings::<VimModeSetting>(cx, |s| *s = Some(false));
});
})
}