/// T-65: the keybindings UI contributes palette commands that switch the /// active keymap preset. library; import 'package:clide/builtin/keybindings_ui/keybindings_ui.dart'; import 'package:clide/kernel/kernel.dart'; import 'package:flutter_test/flutter_test.dart'; import '../../helpers/kernel_fixture.dart'; void main() { late KernelFixture f; setUp(() async { f = await KernelFixture.create(); f.services.extensions.register(KeybindingsUiExtension()); await f.services.extensions.activate('builtin.keybindings-ui'); }); tearDown(() => f.dispose()); test('contributes a switch command per shipped preset', () { expect(f.services.commands.get('keymap.preset.vim'), isNotNull); expect(f.services.commands.get('keymap.preset.default'), isNotNull); }); test('running the vim command switches the active preset', () async { await f.services.commands.execute('keymap.preset.vim'); expect(f.services.settings.get(kKeymapPresetSetting), 'vim'); }); test('switching back to default works', () async { await f.services.commands.execute('keymap.preset.vim'); await f.services.commands.execute('keymap.preset.default'); expect(f.services.settings.get(kKeymapPresetSetting), 'default'); }); }