/
githubmirror
/
lazygit
Обзор
Документация
Войти
/
githubmirror
/
lazygit
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
pkg/tasks/async_handler_test.go
48 строк
728 B
Stefan Haller
Copy gocui files into lazygit repo under pkg/gocui
30 апр 2026, 15:29
30 апр 2026, 15:29
196e0a3
Код
Авторство
О чём код?
package tasks import ( "fmt" "sync" "testing" "github.com/jesseduffield/lazygit/pkg/gocui" "github.com/stretchr/testify/assert" ) func TestAsyncHandler(t *testing.T) { wg := sync.WaitGroup{} wg.Add(2) onWorker := func(f func(gocui.Task) error) { go func() { _ = f(gocui.NewFakeTask()) }() } handler := NewAsyncHandler(onWorker) handler.onReject = func() { wg.Done() } result := 0 wg2 := sync.WaitGroup{} wg2.Add(1) handler.Do(func() func() { wg2.Wait() return func() { fmt.Println("setting to 1") result = 1 } }) handler.Do(func() func() { return func() { fmt.Println("setting to 2") result = 2 wg.Done() wg2.Done() } }) wg.Wait() assert.EqualValues(t, 2, result) }