Fyne API test
test
import "fyne.io/fyne/test"
Package test provides utility drivers for running UI tests without rendering
Usage
func ApplyTheme
func ApplyTheme(t *testing.T, theme fyne.Theme)
ApplyTheme sets the given theme and waits for it to be applied to the current app.
func AssertCanvasTappableAt
func AssertCanvasTappableAt(t *testing.T, c fyne.Canvas, pos fyne.Position) bool
AssertCanvasTappableAt asserts that the canvas is tappable at the given position.
func AssertImageMatches
func AssertImageMatches(t *testing.T, masterFilename string, img image.Image, msgAndArgs ...interface{}) bool
AssertImageMatches asserts that the given image is the same as the one stored in the master file. The master filename is relative to the testdata
directory which is relative to the test. The test t
fails if the given image is not equal to the loaded master image. In this case the given image is written into a file in testdata/failed/<masterFilename>
(relative to the test). This path is also reported, thus the file can be used as new master.
func AssertNotificationSent
func AssertNotificationSent(t *testing.T, n *fyne.Notification, f func())
AssertNotificationSent allows an app developer to assert that a notification was sent. After the content of f has executed this utility will check that the specified notification was sent.
func Canvas
func Canvas() fyne.Canvas
Canvas returns a reusable in-memory canvas used for testing
func Drag
func Drag(c fyne.Canvas, pos fyne.Position, deltaX, deltaY int)
Drag drags at an absolute position on the canvas. deltaX/Y is the dragging distance: <0 for dragging up/left, >0 for dragging down/right.
func LaidOutObjects
func LaidOutObjects(o fyne.CanvasObject) (objects []fyne.CanvasObject)
LaidOutObjects returns all fyne.CanvasObject starting at the given fyne.CanvasObject which is laid out previously.
func MoveMouse
func MoveMouse(c fyne.Canvas, pos fyne.Position)
MoveMouse simulates a mouse movement to the given position.
func NewApp
func NewApp() fyne.App
NewApp returns a new dummy app used for testing. It loads a test driver which creates a virtual window in memory for testing.
func NewClipboard
func NewClipboard() fyne.Clipboard
NewClipboard returns a single use in-memory clipboard used for testing
func NewDriver
func NewDriver() fyne.Driver
NewDriver sets up and registers a new dummy driver for test purpose
func NewDriverWithPainter
func NewDriverWithPainter(painter SoftwarePainter) fyne.Driver
NewDriverWithPainter creates a new dummy driver that will pass the given painter to all canvases created
func NewTheme
func NewTheme() fyne.Theme
NewTheme returns a new testTheme.
func NewWindow
func NewWindow(content fyne.CanvasObject) fyne.Window
NewWindow creates and registers a new window for test purposes
func Scroll
func Scroll(c fyne.Canvas, pos fyne.Position, deltaX, deltaY int)
Scroll scrolls at an absolute position on the canvas. deltaX/Y is the scrolling distance: <0 for scrolling up/left, >0 for scrolling down/right.
func Tap
func Tap(obj fyne.Tappable)
Tap simulates a left mouse click on the specified object.
func TapAt
func TapAt(obj fyne.Tappable, pos fyne.Position)
TapAt simulates a left mouse click on the passed object at a specified place within it.
func TapCanvas
func TapCanvas(c fyne.Canvas, pos fyne.Position)
TapCanvas taps at an absolute position on the canvas.
func TapSecondary
func TapSecondary(obj fyne.SecondaryTappable)
TapSecondary simulates a right mouse click on the specified object.
func TapSecondaryAt
func TapSecondaryAt(obj fyne.SecondaryTappable, pos fyne.Position)
TapSecondaryAt simulates a right mouse click on the passed object at a specified place within it.
func Type
func Type(obj fyne.Focusable, chars string)
Type performs a series of key events to simulate typing of a value into the specified object. The focusable object will be focused before typing begins. The chars parameter will be input one rune at a time to the focused object.
func TypeOnCanvas
func TypeOnCanvas(c fyne.Canvas, chars string)
TypeOnCanvas is like the Type function but it passes the key events to the canvas object rather than a focusable widget.
func WidgetRenderer
func WidgetRenderer(wid fyne.Widget) fyne.WidgetRenderer
WidgetRenderer allows test scripts to gain access to the current renderer for a widget. This can be used for verifying correctness of rendered components for a widget in unit tests.
func WithTestTheme
func WithTestTheme(t *testing.T, f func())
WithTestTheme runs a function with the testTheme temporarily set.