matchWidgetValue method
Future<Widget>
matchWidgetValue(
- dynamic selectorDyn,
- Matcher matcher, {
- bool scrollIfMissing = true,
- bool ignoreUnderWidget = false,
})
Implementation
Future<Widget> matchWidgetValue(dynamic selectorDyn, ft.Matcher matcher, { bool scrollIfMissing = true, bool ignoreUnderWidget = false, String extractType = AFExtractWidgetAction.extractPrimary, int extraFrames = 0 }) async {
final elems = await findElementsFor(selectorDyn, ignoreUnderWidget: ignoreUnderWidget, shouldScroll: scrollIfMissing);
if(elems.length != 1) {
throw AFException("matchWidgetValue expects $selectorDyn to match exactly one widget, found ${elems.length}");
}
final elem = elems.first;
final selectable = AFibF.g.screenTests.findExtractor(extractType, elem);
if(selectable == null) {
throw AFException("No AFSelectedWidgetTest found for ${elem.widget.runtimeType}, you can register one using AFScreenTests.registerSelectable");
}
final selector = AFWidgetSelector.createSelector(activeSelectorPath, selectorDyn);
final value = selectable.extract(extractType, selector, elem);
this.expect(value, matcher, extraFrames: extraFrames+1);
return elem.widget;
}