Add tests for migrating null keybindings to <disabled>

This commit is contained in:
Stefan Haller 2025-05-08 09:37:44 +02:00
parent 426a7ee5d4
commit 3daa47f87f

View file

@ -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: <disabled>
`,
expectedDidChange: true,
},
{
name: "Change several",
input: `keybinding:
universal:
quit: null
return: <esc>
new: null
`,
expected: `keybinding:
universal:
quit: <disabled>
return: <esc>
new: <disabled>
`,
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