From e5f628ad5813f9efe50100b0469490b6e2873f5e Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 22 Oct 2024 12:56:21 +0200 Subject: [PATCH] provide clock in tests --- .../event_processor/screenshot_event_processor.dart | 3 ++- .../screenshot_event_processor_test.dart | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/flutter/lib/src/event_processor/screenshot_event_processor.dart b/flutter/lib/src/event_processor/screenshot_event_processor.dart index 355db1a3ae..205b889144 100644 --- a/flutter/lib/src/event_processor/screenshot_event_processor.dart +++ b/flutter/lib/src/event_processor/screenshot_event_processor.dart @@ -39,7 +39,8 @@ class ScreenshotEventProcessor implements EventProcessor { return event; } - final now = DateTime.now(); + // ignore: invalid_use_of_internal_member + final now = _options.clock(); final difference = _lastApplyCall?.difference(DateTime.now()).abs(); _lastApplyCall = now; diff --git a/flutter/test/event_processor/screenshot_event_processor_test.dart b/flutter/test/event_processor/screenshot_event_processor_test.dart index 0afb73a203..9399c64ef8 100644 --- a/flutter/test/event_processor/screenshot_event_processor_test.dart +++ b/flutter/test/event_processor/screenshot_event_processor_test.dart @@ -201,7 +201,13 @@ void main() { await sut.apply(firstEvent, firstHint); await sut.apply(secondEvent, secondHint); + // ignore: invalid_use_of_internal_member + fixture.options.clock = () => DateTime.fromMillisecondsSinceEpoch(0); expect(firstHint.screenshot, isNotNull); + + // ignore: invalid_use_of_internal_member + fixture.options.clock = () => DateTime.fromMillisecondsSinceEpoch( + sut.debounceDuration.inMilliseconds - 1); expect(secondHint.screenshot, isNull); }); }); @@ -223,8 +229,13 @@ void main() { final secondEvent = SentryEvent(throwable: throwable); final secondHint = Hint(); + // ignore: invalid_use_of_internal_member + fixture.options.clock = () => DateTime.fromMillisecondsSinceEpoch(0); await sut.apply(firstEvent, firstHint); - await Future.delayed(sut.debounceDuration); + + // ignore: invalid_use_of_internal_member + fixture.options.clock = () => DateTime.fromMillisecondsSinceEpoch( + sut.debounceDuration.inMilliseconds); await sut.apply(secondEvent, secondHint); expect(firstHint.screenshot, isNotNull);