applyWidgetValue method
Future<void>
applyWidgetValue(
- dynamic selectorDyn,
- dynamic value,
- String applyType, {
- AFUIVerifyDelegate? verify,
- int maxWidgets = 1,
- int extraFrames = 0,
- bool ignoreUnderWidget = false,
override
Implementation
@override
Future<void> applyWidgetValue(dynamic selectorDyn, dynamic value, String applyType, {
AFUIVerifyDelegate? verify,
int maxWidgets = 1,
int extraFrames = 0,
bool ignoreUnderWidget = false,
}) async {
AFibF.g.testOnlyClearRecentActions();
final selector = AFWidgetSelector.createSelector(null, selectorDyn);
final elems = await findElementsFor(selector, ignoreUnderWidget: ignoreUnderWidget, shouldScroll: true);
if(maxWidgets > 0 && maxWidgets < elems.length) {
throw AFException("Expected at most $maxWidgets widget for selector $selector, found ${elems.length} widgets");
}
if(elems.isEmpty) {
throw AFException("applyWidgetValue, no widget found with selector $selectorDyn");
}
final elem = elems.first;
final tapable = AFibF.g.screenTests.findApplicator(applyType, elem);
if(tapable == null) {
throw AFException("No AFApplyWidgetAction found for ${elem.widget.runtimeType}, you can register one using AFScreenTests.registerApplicator");
}
tapable.apply(applyType, selector, elem, value);
final verifyUIContext = AFUIVerifyContext(
actions: AFibF.g.testOnlyRecentActions,
activeScreenId: activeScreenId,
showResults: Map<AFScreenID, dynamic>.from(AFibF.g.testOnlyShowUIReturn),
);
if(verify != null) {
verify(verifyUIContext);
}
await pauseForRender();
}