golden_toolkit library


Copyright 2019-2020 eBay Inc.

Use of this source code is governed by a BSD-style license that can be found in the LICENSE file or at https://opensource.org/licenses/BSD-3-Clause


Classes

Device
This Device is a configuration for golden test. Can be provided for multiScreenGolden
DeviceBuilder
DeviceBuilder builds Device size driven layout for its children
GoldenBuilder
GoldenBuilder builds column/grid layout for it's children
GoldenToolkit
Manages global state & behavior for the Golden Toolkit This is a singleton so that it can be easily configured in one place and shared across tests
GoldenToolkitConfiguration
Represents configuration options for the GoldenToolkit. These are akin to environmental flags.

Extensions

TestingToolsExtension
Extensions for a WidgetTester
TestWindowExtensions
Convenience extensions for configuring elements of the TestWindow
WidgetFlutterBindingExtensions
Convenience extensions for more easily configuring WidgetTester for pre-set configurations
WidgetTesterImageLoadingExtensions
Convenience extensions on WidgetTester

Constants

textScaleFactorMaxSupported → const double
as of iOS 13.2.3 the max textScaleFactor a user can set is ~3.1176
3.2

Functions

defaultDeviceFileNameFactory(String name, Device device) String
This is the default file name factory which is used by multiScreenGolden to determine the actual file name for a golden test. The given name is the name passed into multiScreenGolden.
defaultFileNameFactory(String name) String
This is the default file name factory which is used by screenMatchesGolden to determine the actual file name for a golden test. The given name is the name passed into screenMatchesGolden.
defaultPrimeAssets(WidgetTester tester) Future<void>
A function that waits for all Image widgets found in the widget tree to finish decoding. [...]
legacyPrimeAssets(WidgetTester tester) Future<void>
A function that primes all assets by just wasting time and hoping that it is enough for all assets to finish loading. Doing so is not recommended and very flaky. Consider switching to defaultPrimeAssets or a custom implementation. [...]
loadAppFonts() Future<void>
By default, flutter test only uses a single "test" font called Ahem. [...]
materialAppWrapper({TargetPlatform platform = TargetPlatform.android, Iterable<LocalizationsDelegate> localizations, NavigatorObserver navigatorObserver, Iterable<Locale> localeOverrides, ThemeData theme}) WidgetWrapper
This materialAppWrapper is a convenience function to wrap your widget in MaterialApp Wraps your widget in MaterialApp, inject custom theme, localizations, override surfaceSize and platform [...]
multiScreenGolden(WidgetTester tester, String name, {Finder finder, bool autoHeight, double overrideGoldenHeight, CustomPump customPump, DeviceSetup deviceSetup, List<Device> devices, bool skip}) Future<void>
This multiScreenGolden will run scenarios for given devices list [...]
noWrap() WidgetWrapper
This noWrap is a convenience function if you don't want to wrap widgets in default materialAppWrapper
screenMatchesGolden(WidgetTester tester, String name, {bool autoHeight, Finder finder, CustomPump customPump, bool skip}) Future<void>
A function that wraps matchesGoldenFile with some extra functionality. The function finds the first widget in the tree if finder is not specified. Furthermore a fileNameFactory can be used in combination with a name to specify a custom path and name for the golden file. In addition to that the function makes sure all images are available before [...]
testGoldens(String description, Future<void> test(WidgetTester), {bool skip = false}) → void
This testGoldens method exists as a way to enforce the proper naming of tests that contain golden diffs so that we can reliably run all goldens [...]

Typedefs

CustomPump = Future<void> Function(WidgetTester)
CustomPump is a function that lets you do custom pumping before golden evaluation. Sometimes, you want to do a golden test for different stages of animations, so its crucial to have a precise control over pumps and durations
DeviceFileNameFactory = String Function(String name, Device device)
A factory to determine a file name/path from a name and a device. [...]
DeviceSetup = Future<void> Function(Device device, WidgetTester tester)
FileNameFactory = String Function(String name)
A factory to determine an actual file name/path from a given name. [...]
OnScenarioCreate = Future<void> Function(Key scenarioWidgetKey)
PrimeAssets = Future<void> Function(WidgetTester tester)
A function that primes all needed assets for the given tester. [...]
SkipGoldenAssertion = bool Function()
A func that will be evaluated at runtime to determine if the golden assertion should be skipped
WidgetWrapper = Widget Function(Widget)