m3_lightmeter/test_driver/screenshot_driver.dart

26 lines
827 B
Dart
Raw Normal View History

import 'dart:io';
2024-05-11 12:59:28 +00:00
import 'dart:typed_data';
import 'package:image/image.dart';
import 'package:integration_test/integration_test_driver_extended.dart';
2024-05-14 12:57:08 +00:00
import '../screenshots/convert_to_store_screenshot.dart';
import '../screenshots/models/screenshot_args.dart';
import '../screenshots/models/screenshot_layout.dart';
Future<void> main() async {
await integrationDriver(
2024-05-11 12:59:28 +00:00
onScreenshot: (name, bytes, [_]) async {
final screenshotArgs = ScreenshotArgs.fromString(name);
2024-05-14 12:57:08 +00:00
final file = await File(screenshotArgs.toPathRaw()).create(recursive: true);
final screenshot = decodePng(Uint8List.fromList(bytes))!.convertToStoreScreenshot(
args: screenshotArgs,
layout: ScreenshotLayout.iphone65inch,
2024-05-11 12:59:28 +00:00
);
2024-05-14 12:57:08 +00:00
file.writeAsBytesSync(encodePng(screenshot));
return true;
},
);
}