pumpVeloWidget<T extends Velo> method
Pumps a widget with the provided Velo instances.
Implementation
Future<void> pumpVeloWidget<T extends Velo<dynamic>>(
Widget widget, {
List<T>? velos,
bool wrapInMaterialApp = true,
}) async {
ArgumentError.checkNotNull(widget, 'widget');
if (velos != null) {
for (int i = 0; i < velos.length; i++) {
ArgumentError.checkNotNull(velos[i], 'velos[$i]');
}
}
Widget testWidget = widget;
try {
if (velos != null && velos.isNotEmpty) {
testWidget = MultiProvider(
providers: velos
.map((velo) => ChangeNotifierProvider<T>.value(value: velo))
.toList(),
child: testWidget,
);
}
if (wrapInMaterialApp) {
testWidget = MaterialApp(home: Scaffold(body: testWidget));
}
await pumpWidget(testWidget);
} catch (e) {
throw StateError('Unexpected error while pumping widget: $e');
}
}