test

package
v1.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2020 License: BSD-3-Clause Imports: 28 Imported by: 0

Documentation

Overview

Package test provides utility drivers for running UI tests without rendering

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyTheme added in v1.3.0

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 added in v1.3.0

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 added in v1.3.0

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 added in v1.3.0

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 DoubleTap added in v1.4.0

func DoubleTap(obj fyne.DoubleTappable)

DoubleTap simulates a double left mouse click on the specified object.

func Drag added in v1.3.0

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 FocusNext added in v1.4.0

func FocusNext(c fyne.Canvas)

FocusNext focuses the next focusable on the canvas.

func FocusPrevious added in v1.4.0

func FocusPrevious(c fyne.Canvas)

FocusPrevious focuses the previous focusable on the canvas.

func LaidOutObjects added in v1.3.0

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 added in v1.3.0

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 added in v1.2.0

func NewDriverWithPainter(painter SoftwarePainter) fyne.Driver

NewDriverWithPainter creates a new dummy driver that will pass the given painter to all canvases created

func NewTheme added in v1.3.0

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 added in v1.3.0

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 added in v1.2.0

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 added in v1.3.0

func TapCanvas(c fyne.Canvas, pos fyne.Position)

TapCanvas taps at an absolute position on the canvas.

func TapSecondary added in v1.1.1

func TapSecondary(obj fyne.SecondaryTappable)

TapSecondary simulates a right mouse click on the specified object.

func TapSecondaryAt added in v1.2.0

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 added in v1.3.0

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 added in v1.3.0

func WithTestTheme(t *testing.T, f func())

WithTestTheme runs a function with the testTheme temporarily set.

Types

type SoftwarePainter added in v1.2.0

type SoftwarePainter interface {
	Paint(fyne.Canvas) image.Image
}

SoftwarePainter describes a simple type that can render canvases

type WindowlessCanvas added in v1.2.0

type WindowlessCanvas interface {
	fyne.Canvas

	FocusNext()
	FocusPrevious()
	Padded() bool
	Resize(fyne.Size)
	SetPadded(bool)
}

WindowlessCanvas provides functionality for a canvas to operate without a window

func NewCanvas

func NewCanvas() WindowlessCanvas

NewCanvas returns a single use in-memory canvas used for testing

func NewCanvasWithPainter added in v1.2.0

func NewCanvasWithPainter(painter SoftwarePainter) WindowlessCanvas

NewCanvasWithPainter allows creation of an in-memory canvas with a specific painter. The painter will be used to render in the Capture() call.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL