/
githubmirror
/
lazygit
Обзор
Документация
Войти
/
githubmirror
/
lazygit
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
pkg/integration/tests/custom_commands/conditional_prompt_false_string.go
71 строка
2 KB
Stefan Haller
Convert custom command Key fields to Keybinding
25 май 2026, 16:32
25 май 2026, 16:32
fbcf562
Код
Авторство
О чём код?
package custom_commands import ( "github.com/jesseduffield/lazygit/pkg/config" . "github.com/jesseduffield/lazygit/pkg/integration/components" ) var ConditionalPromptFalseString = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Conditional prompt is skipped when condition is bare false or template false", ExtraCmdArgs: []string{}, Skip: false, SetupRepo: func(shell *Shell) { shell.EmptyCommit("blah") }, SetupConfig: func(cfg *config.AppConfig) { cfg.GetUserConfig().CustomCommands = []config.CustomCommand{ { Key: config.Keybinding{"a"}, Context: "files", Command: `echo "{{.Form.Choice}}" > result.txt`, Prompts: []config.CustomCommandPrompt{ { Key: "Choice", Type: "menu", Title: "Pick one", Options: []config.CustomCommandMenuOption{ { Name: "foo", Description: "Foo", Value: "FOO", }, { Name: "bar", Description: "Bar", Value: "BAR", }, }, }, { Key: "Skipped1", Type: "input", Title: "This is always skipped (false)", Condition: `false`, }, { Key: "Skipped2", Type: "input", Title: "This is always skipped (template false)", Condition: `{{ eq "a" "b" }}`, }, }, }, } }, Run: func(t *TestDriver, keys config.KeybindingConfig) { t.Views().Files(). IsFocused(). Press(config.Keybinding{"a"}) t.ExpectPopup().Menu().Title(Equals("Pick one")).Select(Contains("foo")).Confirm() // Both conditional prompts skipped, file created directly t.Views().Files(). Focus(). Lines( Contains("result.txt").IsSelected(), ) t.FileSystem().FileContent("result.txt", Equals("FOO\n")) }, })