returnScreenShotEvent method

Future<FlutsterTestEvent?> returnScreenShotEvent({
  1. FlutsterTestEvent? duplicate,
  2. WidgetTester? tester,
})

returnScreenShotEvent takes a screenshot and returns it as a test event.

Implementation

Future<FlutsterTestEvent?> returnScreenShotEvent(
    {FlutsterTestEvent? duplicate, WidgetTester? tester}) async {
  Uint8List? pngBytes = await returnScreenShotPngBytes(tester: tester);
  if (pngBytes == null) {
    return (Future.value(null));
  }
  Image image = Image.memory(pngBytes);
  FlutsterTestEvent? screenShotEvent;
  if (duplicate != null) {
    screenShotEvent = FlutsterTestEvent.fromMap(
      duplicate.toMap(),
      flutsterTestRecorderState: this,
    );
    screenShotEvent.screenShot = image;
    screenShotEvent.screenShotBytes = pngBytes;
  } else {
    screenShotEvent = FlutsterTestEvent.screenShot(
        flutsterTestRecorderState: this,
        screenShot: image,
        screenShotBytes: pngBytes,
        widgetName: widget.name);
  }
  return (screenShotEvent);
}