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  }