From 3daa47f87fd0aee0311886f0cfe72ea4929d0141 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Thu, 8 May 2025 09:37:44 +0200 Subject: [PATCH] Add tests for migrating null keybindings to --- pkg/config/app_config_test.go | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/pkg/config/app_config_test.go b/pkg/config/app_config_test.go index a4f31ecc8..6f15b6d4a 100644 --- a/pkg/config/app_config_test.go +++ b/pkg/config/app_config_test.go @@ -67,6 +67,68 @@ keybinding: } } +func TestMigrateNullKeybindingsToDisabled(t *testing.T) { + scenarios := []struct { + name string + input string + expected string + expectedDidChange bool + }{ + { + name: "Empty String", + input: "", + expectedDidChange: false, + }, + { + name: "No change needed", + input: `keybinding: + universal: + quit: q +`, + expectedDidChange: false, + }, + { + name: "Change one", + input: `keybinding: + universal: + quit: null +`, + expected: `keybinding: + universal: + quit: +`, + expectedDidChange: true, + }, + { + name: "Change several", + input: `keybinding: + universal: + quit: null + return: + new: null +`, + expected: `keybinding: + universal: + quit: + return: + new: +`, + expectedDidChange: true, + }, + } + + for _, s := range scenarios { + t.Run(s.name, func(t *testing.T) { + actual, didChange, err := computeMigratedConfig("path doesn't matter", []byte(s.input)) + assert.NoError(t, err) + assert.Equal(t, s.expectedDidChange, didChange) + if didChange { + assert.Equal(t, s.expected, string(actual)) + } + }) + } +} + func TestCommitPrefixMigrations(t *testing.T) { scenarios := []struct { name string