@@ -19,11 +19,15 @@ void main() {
1919 });
2020
2121 Future <void > _addScreenshotAttachment (
22- WidgetTester tester, FlutterRenderer renderer, bool added,
23- {int ? expectedMaxWidthOrHeight}) async {
22+ WidgetTester tester,
23+ FlutterRenderer ? renderer, {
24+ required bool isWeb,
25+ required bool added,
26+ int ? expectedMaxWidthOrHeight,
27+ }) async {
2428 // Run with real async https://stackoverflow.com/a/54021863
2529 await tester.runAsync (() async {
26- final sut = fixture.getSut (renderer);
30+ final sut = fixture.getSut (renderer, isWeb );
2731
2832 await tester.pumpWidget (SentryScreenshotWidget (
2933 child: Text ('Catching Pokémon is a snap!' ,
@@ -48,55 +52,54 @@ void main() {
4852 });
4953 }
5054
51- testWidgets ('adds screenshot attachment with skia renderer ' , (tester) async {
52- await _addScreenshotAttachment (tester, FlutterRenderer .skia, true );
55+ testWidgets ('adds screenshot attachment dart:io ' , (tester) async {
56+ await _addScreenshotAttachment (tester, null , added : true , isWeb : false );
5357 });
5458
5559 testWidgets ('adds screenshot attachment with canvasKit renderer' ,
5660 (tester) async {
57- await _addScreenshotAttachment (tester, FlutterRenderer .canvasKit, true );
61+ await _addScreenshotAttachment (tester, FlutterRenderer .canvasKit,
62+ added: true , isWeb: true );
5863 });
5964
6065 testWidgets ('does not add screenshot attachment with html renderer' ,
6166 (tester) async {
62- await _addScreenshotAttachment (tester, FlutterRenderer .html, false );
63- });
64-
65- testWidgets ('does not add screenshot attachment with unknown renderer' ,
66- (tester) async {
67- await _addScreenshotAttachment (tester, FlutterRenderer .unknown, false );
67+ await _addScreenshotAttachment (tester, FlutterRenderer .html,
68+ added: false , isWeb: true );
6869 });
6970
7071 testWidgets ('does add screenshot in correct resolution for low' ,
7172 (tester) async {
7273 final height = SentryScreenshotQuality .low.targetResolution ()! ;
7374 fixture.options.screenshotQuality = SentryScreenshotQuality .low;
74- await _addScreenshotAttachment (tester, FlutterRenderer .skia, true ,
75- expectedMaxWidthOrHeight: height);
75+ await _addScreenshotAttachment (tester, null ,
76+ added : true , isWeb : false , expectedMaxWidthOrHeight: height);
7677 });
7778
7879 testWidgets ('does add screenshot in correct resolution for medium' ,
7980 (tester) async {
8081 final height = SentryScreenshotQuality .medium.targetResolution ()! ;
8182 fixture.options.screenshotQuality = SentryScreenshotQuality .medium;
82- await _addScreenshotAttachment (tester, FlutterRenderer .skia, true ,
83- expectedMaxWidthOrHeight: height);
83+ await _addScreenshotAttachment (tester, null ,
84+ added : true , isWeb : false , expectedMaxWidthOrHeight: height);
8485 });
8586
8687 testWidgets ('does add screenshot in correct resolution for high' ,
8788 (tester) async {
8889 final widthOrHeight = SentryScreenshotQuality .high.targetResolution ()! ;
8990 fixture.options.screenshotQuality = SentryScreenshotQuality .high;
90- await _addScreenshotAttachment (tester, FlutterRenderer .skia, true ,
91- expectedMaxWidthOrHeight: widthOrHeight);
91+ await _addScreenshotAttachment (tester, null ,
92+ added : true , isWeb : false , expectedMaxWidthOrHeight: widthOrHeight);
9293 });
9394}
9495
9596class Fixture {
9697 SentryFlutterOptions options = SentryFlutterOptions (dsn: fakeDsn);
9798
98- ScreenshotEventProcessor getSut (FlutterRenderer flutterRenderer) {
99+ ScreenshotEventProcessor getSut (
100+ FlutterRenderer ? flutterRenderer, bool isWeb) {
99101 options.rendererWrapper = MockRendererWrapper (flutterRenderer);
102+ options.platformChecker = MockPlatformChecker (isWebValue: isWeb);
100103 return ScreenshotEventProcessor (options);
101104 }
102105}
0 commit comments