github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/internal/termui/fakes/app.go (about) 1 package fakes 2 3 import ( 4 "github.com/rivo/tview" 5 ) 6 7 type App struct { 8 SetRootCallCount int 9 DrawCallCount int 10 11 doneChan chan bool 12 } 13 14 func NewApp() *App { 15 return &App{ 16 doneChan: make(chan bool, 1), 17 } 18 } 19 20 func (a *App) SetRoot(root tview.Primitive, fullscreen bool) *tview.Application { 21 a.SetRootCallCount++ 22 return nil 23 } 24 25 func (a *App) Draw() *tview.Application { 26 a.DrawCallCount++ 27 return nil 28 } 29 30 func (a *App) QueueUpdateDraw(f func()) *tview.Application { 31 f() 32 a.DrawCallCount++ 33 return nil 34 } 35 36 func (a *App) Run() error { 37 <-a.doneChan 38 return nil 39 } 40 41 func (a *App) StopRunning() { 42 a.doneChan <- true 43 } 44 45 func (a *App) ResetDrawCount() { 46 a.DrawCallCount = 0 47 }