Test Report : test-results.xml

📊 Test Execution Summary Report Generated On: 2026-09-11 00:33:55

767
Total
767
Passed
0
Failed
0
Skipped
5.424s
Duration

    Test Suite: D:.working.flipdare.code.packages.core.test.test_bundle.bundle

    Suite Properties

    platformvm

    Results

    Duration0.0 sec
    Tests767
    Failures0

    Tests

    D:.working.flipdare.code.packages.core.test.test_bundle.bundle

    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests Color Extension (variant: Windows)
    Outcome:Passed
    Duration:0.463 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests CustomTextStyle: def (variant: Windows)
    Outcome:Passed
    Duration:0.137 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests CustomLogoStyle: logo (variant: Windows)
    Outcome:Passed
    Duration:0.117 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests PledgeTextStyle: pledge_text_style (variant: Windows)
    Outcome:Passed
    Duration:0.052 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests IconProperty (variant: Windows)
    Outcome:Passed
    Duration:0.066 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppIcon (variant: Windows)
    Outcome:Passed
    Duration:0.267 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppStyle: border, default (variant: Windows)
    Outcome:Passed
    Duration:0.038 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppStyle: corner, default (variant: Windows)
    Outcome:Passed
    Duration:0.033 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppStyle: corner, size (variant: Windows)
    Outcome:Passed
    Duration:0.065 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppStyle: corner, large size (variant: Windows)
    Outcome:Passed
    Duration:0.086 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppStyle: image/icon size (variant: Windows)
    Outcome:Passed
    Duration:0.091 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AppOverlay (variant: Windows)
    Outcome:Passed
    Duration:0.175 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests CustomFittedWidget: custom_fitted_widget (variant: Windows)
    Outcome:Passed
    Duration:0.429 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests ClippedCornerWidget (variant: Windows)
    Outcome:Passed
    Duration:0.045 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests AlertOverlay (variant: Windows)
    Outcome:Passed
    Duration:0.079 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests SimpleDecoration: simple_decoration (variant: Windows)
    Outcome:Passed
    Duration:0.068 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests simple_snackbar (variant: Windows)
    Outcome:Passed
    Duration:0.095 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests SystemErrorWidget system_error_widget_screen (variant: Windows)
    Outcome:Passed
    Duration:0.123 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests SystemErrorWidget system_error_widget_dialog2 (variant: Windows)
    Outcome:Passed
    Duration:0.11 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests SystemErrorWidget system_error_widget_dialog1 (variant: Windows)
    Outcome:Passed
    Duration:0.093 sec
    Test case:tests golden/core_golden_test.dart Core Golden Component Suite core style golden tests CustomErrorScreen: custom_error_screen (variant: Windows)
    Outcome:Passed
    Duration:0.093 sec
    Test case:tests unit/admin/app_exception_test.dart app_exception tests exception without code
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/admin/app_exception_test.dart app_exception tests exception with code
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/admin/easy_notifier_test.dart EasyNotifier notify ok
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/admin/easy_notifier_test.dart EasyNotifier notify not ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/admin/easy_notifier_test.dart EasyNotifier notify with onCall
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/admin/env_test.dart Env: app production default ok
    Outcome:Passed
    Duration:0.005 sec
    Test case:tests unit/admin/env_test.dart Env: app developement default ok
    Outcome:Passed
    Duration:0.008 sec
    Test case:tests unit/admin/env_test.dart Env: default env default ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should return true for registered instance
    Outcome:Passed
    Duration:0.005 sec
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should unregister an instance
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/admin/service_manager.dart:135:11) [ServiceManager.unregister] -> 
     
     [ DEBUG] | 21:36:07 509ms | Unregistered GetIt of Type Dummy
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should register an instance
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should register an instance
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should return false for unregistered instance
    Outcome:Passed
    Duration:0.012 sec
    Stdout
     (package:core/admin/service_manager.dart:104:13) [ServiceManager.unregister] -> 
     
     [ WARNING] | 21:36:07 521ms | Attempted to unregister type Dummy which is not registered. Instance: Instance of 'Dummy'
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should register an instance asynchronously
    Outcome:Passed
    Duration:0.012 sec
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should throw if already registered without force
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should not throw if already registered with force
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/admin/service_manager.dart:135:11) [ServiceManager.unregister] -> 
     
     [ DEBUG] | 21:36:07 550ms | Unregistered GetIt of Type Dummy
    Test case:tests unit/admin/service_manager_test.dart Service Manager Unit Tests Service Manager should throw if unregistering non-registered instance
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/admin/service_manager.dart:104:13) [ServiceManager.unregister] -> 
     
     [ WARNING] | 21:36:07 555ms | Attempted to unregister type Dummy which is not registered. Instance: Instance of 'Dummy'
    Test case:tests unit/alert/alert_category_test.dart AlertCategory and AlertSubCategory - AlertCategory should return correct name for each category
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_category_test.dart AlertCategory and AlertSubCategory - AlertCategory should return isError for error categories
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_category_test.dart AlertCategory and AlertSubCategory - AlertCategory isError should return false for non-error categories
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_state_test.dart AlertState: creation
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_state_test.dart AlertState: show
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/alert/alert_state.dart:44:11) [AlertState.show] -> 
     
     [ DEBUG] | 21:36:07 577ms | Alert already shown: Instance of 'AlertState'
    Test case:tests unit/alert/alert_type_test.dart AlertType: <
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_type_test.dart AlertType: <=
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_type_test.dart AlertType: >
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_type_test.dart AlertType: >=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/alert/alert_type_test.dart AlertType: isTimeout
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_type_test.dart AlertType: isNetwork
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/alert_type_test.dart AlertType: isSocial
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/camera_alert_type_test.dart CameraAlertType alertType
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/alert/camera_alert_type_test.dart CameraAlertType content
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/core/alert_test.dart Alert: init
    Outcome:Passed
    Duration:0.008 sec
    Test case:tests unit/alert/core/alert_test.dart Alert: info
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/alert/core/alert_test.dart Alert: empty
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/core/alert_test.dart Alert: permission
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/alert/core/base_alert_test.dart BaseAlert - creation
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/core/base_alert_test.dart BaseAlert - compareTo
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/alert/core/base_alert_test.dart BaseAlert - equality
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/alert/core/base_alert_test.dart BaseAlert - buildId
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_event_test.dart AnalyticsEvent UrlAnalyticsEvent creation
    Outcome:Passed
    Duration:0.007 sec
    Test case:tests unit/analytics/analytics_event_test.dart AnalyticsEvent RouteAnalyticsEvent creation
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/analytics/analytics_event_test.dart AnalyticsEvent InteractionAnalyticsEvent creation
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/analytics/analytics_interaction_type_test.dart AnalyticsInteractionType initialization
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_interaction_type_test.dart AnalyticsInteractionType values list
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_route_source_test.dart AnalyticsRouteSource initialization
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_route_source_test.dart AnalyticsRouteSource values list
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_route_source_test.dart AnalyticsRouteSource jsonValue returns correct type
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_type_test.dart AnalyticsType initialization
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/analytics/analytics_type_test.dart AnalyticsType values list
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/analytics/analytics_type_test.dart AnalyticsType jsonValue returns correct value
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/app_route_path_test.dart AppSetupRoutePath: loading
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/app_route_path_test.dart AppSetupRoutePath: ready
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/backend/tag_generator_test.dart TagGenerator generates correct segments
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType fromExtension with known extensions
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType supported video file type
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType unsupported file type
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType fromExtension with unknown extension
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType no extension
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType fromExtension with uppercase extension
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType fromExtension with leading dot
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType value getter
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType isSupportedImage getter
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType isSupportedVideo getter
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/app_mime_type_test.dart AppMimeType isSupported getter
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath initialization
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath fromUrl
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath fromUrl with unknown bucket returns scratchpad
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath code returns correct value
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath fromUrl returns valid enum
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath value returns correct string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/firebase_path_test.dart FirebasePath correctly returns sub-directory
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests imageTooBig
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests videoTooBig
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests mediaTooBigError
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests message not requiring formatting
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests imageTooBig/videoTooBig does not have args
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests variable property
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests variable property
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests variable property message
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_message_test.dart UserMessage tests variable value
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_text_formatter_test.dart paymentDeleteConfirm replaces placeholders with provided values
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_text_formatter_test.dart UserTextHelper.fmtConfirmDeleteMessage should format the confirm delete message correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_text_formatter_test.dart UserTextHelper.fmtAnonymousFeedbackMessage should format the anonymous feedback message correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/constants/user_text_formatter_test.dart UserTextHelper.fmtShareUserMessage should format the share user message correctly
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_text_formatter_test.dart UserTextHelper.formatUserMessage should format the user message correctly for dense mode
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/constants/user_text_formatter_test.dart UserTextHelper.formatUserMessage should format the user message correctly for regular mode
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/currency/payment_amount_test.dart PaymentAmount: should create a PaymentAmount for a traditional currency
    Outcome:Passed
    Duration:0.025 sec
    Test case:tests unit/currency/payment_amount_test.dart PaymentAmount: should create a PaymentAmount for a traditional currency
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/currency/payment_amount_test.dart PaymentAmount: should create a PaymentAmount for a traditional currency with cents
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/currency/payment_amount_test.dart PaymentAmount: should round down for a PaymentAmount for a traditional currency with cents
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/currency/payment_amount_test.dart PaymentAmount: should create a PaymentAmount for a zero-decimal currency
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/display/alert_icon_size_test.dart AlertIconSize - all values
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/alert_icon_size_test.dart AlertIconSize - size
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/display/alert_icon_size_test.dart AlertIconSize - <
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/alert_icon_size_test.dart AlertIconSize - >
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/alert_icon_size_test.dart AlertIconSize - >=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/alert_icon_size_test.dart AlertIconSize - nearest
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/align_insets_test.dart AlignInsets copyWith creates correct padding
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/display/align_insets_test.dart AlignInsets circular align adjusts padding correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/align_insets_test.dart AlignInsets rect align adjusts padding correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: all values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: size
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: <
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: >
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: >=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: get corner
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: get shape
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: get gradientWidth
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_avatar_size_test.dart AppAvatarSize: get borderWidth
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_checkbox_size_test.dart AppCheckboxSize: all values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_checkbox_size_test.dart AppCheckboxSize: size
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_checkbox_size_test.dart AppCheckboxSize: <
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_checkbox_size_test.dart AppCheckboxSize: >
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_checkbox_size_test.dart AppCheckboxSize: >=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: all values
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: size
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: <
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: >
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: >=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: <=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: next
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: previous
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_icon_size_test.dart AppIconSize: nearest
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_spinner_size_test.dart AppSpinnerSize: all values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_spinner_size_test.dart AppSpinnerSize: size
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_spinner_size_test.dart AppSpinnerSize: <
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_spinner_size_test.dart AppSpinnerSize: >
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/app_spinner_size_test.dart AppSpinnerSize: >=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/app_spinner_size_test.dart AppSpinnerSize: <=
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/border_property_test.dart BorderProperty default constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/border_property_test.dart BorderProperty boxBorder
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/border_property_test.dart BorderProperty borderSide
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/border_property_test.dart BorderProperty null border property
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty default constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty constructor with values
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty equality and hash code
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty null corner property
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty negative corner radius
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty zero corner radius
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty grow corner radius
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty division operator
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/corner_property_test.dart CornerProperty get borderRadius
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper find method - works as expected for partial shortcode
    Outcome:Passed
    Duration:0.163 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 70ms | EmojiMapper cache initialized with 24256 entries in 156ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper find method - works as expected for partial capitalized shortcode
    Outcome:Passed
    Duration:0.056 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 127ms | EmojiMapper cache initialized with 24256 entries in 51ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper find method - works as expected for shortcode
    Outcome:Passed
    Duration:0.074 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 202ms | EmojiMapper cache initialized with 24256 entries in 69ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper find method - works as expected for capitalized shortcode
    Outcome:Passed
    Duration:0.043 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 245ms | EmojiMapper cache initialized with 24256 entries in 39ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper find method - works as expected for shortcode with colons
    Outcome:Passed
    Duration:0.05 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 296ms | EmojiMapper cache initialized with 24256 entries in 45ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper find method - works as expected for invalid shortcode
    Outcome:Passed
    Duration:0.045 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 343ms | EmojiMapper cache initialized with 24256 entries in 42ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper isValid method - works as expected for partial shortcode wrapped in colons
    Outcome:Passed
    Duration:0.032 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 374ms | EmojiMapper cache initialized with 24256 entries in 28ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper isValid method - works as expected for shortcode wrapped in colons
    Outcome:Passed
    Duration:0.056 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 430ms | EmojiMapper cache initialized with 24256 entries in 51ms
    Test case:tests unit/display/emoji_mapper_test.dart EmojiMapper isValid method - works as expected for invalid short code wrapped in colons
    Outcome:Passed
    Duration:0.042 sec
    Stdout
     (package:core/display/emoji_mapper.dart:60:9) [EmojiMapper.initialize] -> 
     
     [ PERF] | 21:36:08 473ms | EmojiMapper cache initialized with 24256 entries in 37ms
    Test case:tests unit/display/graphic_scale_factor_test.dart GraphicScaleFactor should return correct scale for each factor
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/graphic_scale_factor_test.dart GraphicScaleFactor upscale
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/icon_property_test.dart IconProperty small
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/display/icon_property_test.dart IconProperty paddedSize
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/display/icon_property_test.dart IconProperty paddedSize with symmetric padding
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/display/icon_property_test.dart IconProperty paddedSize on IconProperty
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/display/icon_property_test.dart IconProperty copyWith
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/box_shape_ext_test.dart BoxShape circle
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/box_shape_ext_test.dart BoxShape rectangle
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: toHex: should return the correct hex string for a color
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: toHex: should return the correct hex string for a color with opacity
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: toHex: should return the correct hex string for a color with alpha
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: toHex: should return the correct hex string for a white color
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: toHex: should return the correct hex string for a black color
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: getOpacity: should return the correct getOpacity color
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: getOpacity: should return the correct getOpacity color for a black color
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: getOpacity: should return the correct getOpacity color for a white color
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: lighter: should return the correct lighter shade
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: lighter: should return the correct lighter shade for a black color
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: darker: should return the correct darker shade
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/color_ext_test.dart ColorExtensionUnit: darker: should return the correct darker shade for a black color
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/datatype_ext_test.dart DataType: Map - Map pretty ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/datatype_ext_test.dart DataType: Map - getOrNull ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/datatype_ext_test.dart DataType: List - List pretty ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/datatype_ext_test.dart DataType: List - firstWhereOrNull ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/datatype_ext_test.dart DataType: List - firstWhereOrNull null ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/datatype_ext_test.dart DataType: Set - Set pretty ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension toUtc converting to utc ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension prettyLocalTime timestamp prettyLocalTime extension ok
    Outcome:Passed
    Duration:0.006 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension prettyLocalDateTime timestamp prettyDate extension ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension prettyLocalDateTime should return formatted date and time string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension prettyLocalDateTime should handle FieldValue.serverTimestamp
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft should return correct number of days left
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft should return zero if the date is today
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft compute timer left in days ok for extended duration
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft compute timer left in days ok for exact duration
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft compute timer left in days ok for expired duration
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft compute timer left in days ok for seconds
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft compute timer left in days ok for minutes
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/date_time_ext_test.dart DateTimeExtension actualDaysLeft compute timer left in days ok for hours
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/edgeinsets_ext_test.dart EdgeInsets Extension min all values are positive
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/edgeinsets_ext_test.dart EdgeInsets Extension min some values are negative
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/edgeinsets_ext_test.dart EdgeInsets Extension min all values are zero
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/edgeinsets_ext_test.dart EdgeInsets Extension max all values are positive
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/edgeinsets_ext_test.dart EdgeInsets Extension max some values are negative
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/edgeinsets_ext_test.dart EdgeInsets Extension max all values are zero
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/field_value_ext_test.dart FieldValueExtension isServerTimestamp should return true for FieldValue.serverTimestamp()
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/field_value_ext_test.dart FieldValueExtension toTimestamp should convert FieldValue.serverTimestamp to Timestamp
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/field_value_ext_test.dart FieldValueExtension toTimestamp should throw ArgumentError for unsupported FieldValue types
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/field_value_ext_test.dart FieldValueExtension toDateTime should convert FieldValue.serverTimestamp to DateTime
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/field_value_ext_test.dart FieldValueExtension toDateTime should convert FieldValue.serverTimestamp to DateTime
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/field_value_ext_test.dart FieldValueExtension toDateTime should throw ArgumentError for unsupported FieldValue types
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/list_ext_test.dart List Extension - equals
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/list_ext_test.dart List Extension - nearestIndex for CornerSize
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/list_ext_test.dart List Extension - nearestIndex double
    Outcome:Passed
    Duration:0.008 sec
    Test case:tests unit/extension/list_ext_test.dart List Extension - nearestIndex for Size
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/orientation_ext_test.dart OrientationExtension: Orientation pretty ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/primitive_ext_test.dart Primitive: Double: Double pretty ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/primitive_ext_test.dart Primitive: Double: roundToInt
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/primitive_ext_test.dart Primitive: Double: roundToFixedDouble
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/primitive_ext_test.dart Primitive: Human readable int to strings tests: int to string ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension isSquare square size
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension isSquare non-square size
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension min width less than height
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension min height less than width
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension min equal width and height
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension max width greater than height
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension max height greater than width
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension max equal width and height
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension atLeast size is at least given value
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension atLeast size is less than given value
    Outcome:Passed
    Duration:0.017 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension add adds value to both dimensions
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension subtract subtracts value from both dimensions
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension round rounds width and height to nearest integer
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension intWidth and intHeight converts width and height to integers
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension copyWith copies with new width and height
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension copyWith copies with only new width
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension copyWith copies with only new height
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/size_ext_test.dart Size Extension copyWith copies without changes
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: capitalizeFirst - 1 words ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: capitalizeFirst - 2 words ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: capitalizeSpaced - 1 words ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: capitalizeSpaced - 2 words ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: camelCase - 1 words ok
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: camelCase - 2 words ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: capitalizeAll - 1 words ok
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: capitalizeAll - 2 words ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - String pretty ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - String pretty null ok
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - isNullOrEmpty ok for null
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - isNullOrEmpty ok for not null
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - limit string length
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - limit string length invalid maxLength
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - limit string length exception
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: String - limit string length with special chars
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: asInt - valid int string
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: asInt - invalid int string
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: asBool - true values
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: asBool - false values
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: wrap - no wrap for small message
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: wrap - wrapping for long message
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: formatUserMessage - no formatting for empty
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: formatUserMessage - no formatting for small message
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: formatUserMessage - formatting (truncation) for long message
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: formatUserMessage - formatting (wrap+truncation) for long message with maxLines
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: formatUserMessage - formatting (wrap+truncation) for long message with infinite lines
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: isRemote - isRemote for local file
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: isRemote - isRemote for gs url
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/extension/string_ext_test.dart StringExtensions: isRemote - isRemote for http url
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for seconds
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for minutes
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for hours
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for days
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for weeks
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for months
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/timestamp_ext_test.dart TimestampExt age get approximate date ok for years
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension XFile Extension - isSvg isSvg
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension XFile Extension - asDartFile asDartFile
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isEmpty empty path
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isEmpty non-empty path
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isRelative has path
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isRelative has no path
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isRelative relative path
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension nameNoExtension default
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension nameNoExtension no extension
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension suffix default
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension suffix no extension
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension appMimeType supported image file
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension appMimeType supported video file
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension appMimeType unsupported file type
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/extension/xfile_ext.dart:71:11) [XfileExt.mimeTypeOrError] -> 
     
     [ WARNING] | 21:36:08 795ms | File extension is not a supported image format: pdf
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension appMimeType no extension
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/extension/xfile_ext.dart:65:11) [XfileExt.mimeTypeOrError] -> 
     
     [ ERROR] | 21:36:08 798ms | File has no suffix, cannot determine if it is supported
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported supported image file
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported supported video file
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported unsupported file type
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/extension/xfile_ext.dart:71:11) [XfileExt.mimeTypeOrError] -> 
     
     [ WARNING] | 21:36:08 805ms | File extension is not a supported image format: pdf
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported no extension
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/extension/xfile_ext.dart:65:11) [XfileExt.mimeTypeOrError] -> 
     
     [ ERROR] | 21:36:08 807ms | File has no suffix, cannot determine if it is supported
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported text file is not supported
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/extension/xfile_ext.dart:71:11) [XfileExt.mimeTypeOrError] -> 
     
     [ WARNING] | 21:36:08 810ms | File extension is not a supported image format: txt
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported c file is not supported
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/extension/xfile_ext.dart:71:11) [XfileExt.mimeTypeOrError] -> 
     
     [ WARNING] | 21:36:08 812ms | File extension is not a supported image format: c
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported pdf is not supported
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/extension/xfile_ext.dart:71:11) [XfileExt.mimeTypeOrError] -> 
     
     [ WARNING] | 21:36:08 815ms | File extension is not a supported image format: pdf
    Test case:tests unit/extension/xfile_ext_test.dart XFile Extension isSupported no extension is not supported
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/extension/xfile_ext.dart:65:11) [XfileExt.mimeTypeOrError] -> 
     
     [ ERROR] | 21:36:08 818ms | File has no suffix, cannot determine if it is supported
    Test case:tests unit/file/background_asset_finder_test.dart AssetFinder BackgroundAssetFinder initialization
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/file/background_asset_finder_test.dart AssetFinder backgroundPath - signIn portrait
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/file/background_asset_finder_test.dart AssetFinder backgroundPath - signUp portrait
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/file/background_asset_finder_test.dart AssetFinder backgroundPath - signUp landscape
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/file/background_asset_finder.dart:94:11) [BackgroundAssetFinder.assetPath] -> 
     
     [ WARNING] | 21:36:08 828ms | No landscape background asset available for type: BackgroundAssetType.signUp. Using portrait version instead.
    Test case:tests unit/file/background_asset_finder_test.dart AssetFinder backgroundPath - Payments screen
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/file/file_util_test.dart FileUtil randomName generates a name with the correct format
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/file/local_directory_test.dart LocalDirectory: returns temp dir cache
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/file/local_directory.dart:90:9) [LocalDirectory.getDirectory] -> 
     
     [ WARNING] | 21:36:08 835ms | Failed to get preferred directory of type temp, trying fallback
    Test case:tests unit/file/local_directory_test.dart LocalDirectory: fails to return temp cache dir without permission
    Outcome:Passed
    Duration:0.006 sec
    Stdout
     (package:core/file/local_directory.dart:90:9) [LocalDirectory.getDirectory] -> 
     
     [ WARNING] | 21:36:08 839ms | Failed to get preferred directory of type temp, trying fallback
    
    
     (package:core/file/local_directory.dart:154:11) [LocalDirectory._try] -> 
     
     [ ERROR] | 21:36:08 840ms | Error getting directory: Exception: Error getting temp dir
    
    
     (package:core/file/local_directory.dart:144:9) [LocalDirectory._getCache] -> 
     
     [ WARNING] | 21:36:08 840ms | Failed to get cache directory..
    Test case:tests unit/file/local_directory_test.dart LocalDirectory: returns a persistent dir
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/file/local_directory_test.dart LocalDirectory: fails to return a persistent dir
    Outcome:Passed
    Duration:0.007 sec
    Stdout
     (package:core/file/local_directory.dart:165:11) [LocalDirectory._tryMaybe] -> 
     
     [ ERROR] | 21:36:08 847ms | Error getting directory: Exception: Error getting ext dir
    
    
     (package:core/file/local_directory.dart:154:11) [LocalDirectory._try] -> 
     
     [ ERROR] | 21:36:08 847ms | Error getting directory: Exception: Error getting app dir
    
    
     (package:core/file/local_directory.dart:126:9) [LocalDirectory._getPersistent] -> 
     
     [ WARNING] | 21:36:08 847ms | Failed to get persistent directory..
    
    
     (package:core/file/local_directory.dart:90:9) [LocalDirectory.getDirectory] -> 
     
     [ WARNING] | 21:36:08 847ms | Failed to get preferred directory of type persistent, trying fallback
    
    
     (package:core/file/local_directory.dart:154:11) [LocalDirectory._try] -> 
     
     [ ERROR] | 21:36:08 847ms | Error getting directory: Exception: Error getting temp dir
    
    
     (package:core/file/local_directory.dart:144:9) [LocalDirectory._getCache] -> 
     
     [ WARNING] | 21:36:08 848ms | Failed to get cache directory..
    Test case:tests unit/file/local_directory_test.dart LocalDirectory: returns system dir
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/file/local_directory.dart:90:9) [LocalDirectory.getDirectory] -> 
     
     [ WARNING] | 21:36:08 854ms | Failed to get preferred directory of type temp, trying fallback
    
    
     (package:core/file/local_directory.dart:154:11) [LocalDirectory._try] -> 
     
     [ ERROR] | 21:36:08 854ms | Error getting directory: Exception: Error getting temp dir
    Test case:tests unit/http/app_url_test.dart AppUrl: creation - createUri ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/app_url_test.dart AppUrl: creation - createUrlParams ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/app_url_test.dart AppUrl: creation - createUrlParams with multiple params ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/app_url_test.dart AppUrl: creation - createUrlParams with empty params ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/app_url_test.dart AppUrl: building queries - buildQueryUri with params
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/app_url_test.dart AppUrl: building queries - buildQueryUri without params
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/email_url_test.dart Url EmailUrl: create valid email url
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/email_url_test.dart Url EmailUrl: create invalid email url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/email_url_test.dart Url EmailUrl: parse valid email url
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/email_url_test.dart Url EmailUrl: parse invalid email url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_metadata_test.dart StorageMetadata creation
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_upload_url_test.dart StorageUploadUrl creation: createStorageUrl newUrl
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/http/storage_upload_url_test.dart StorageUploadUrl creation: createFirebaseUrl ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_upload_url_test.dart StorageUploadUrl creation: createFirebaseUrl without gs scheme throws
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_upload_url_test.dart StorageUploadUrl utils: valid location
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/storage_upload_url_test.dart StorageUploadUrl utils: mimeType
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl isValid valid firebase url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl isValid invalid firebase url - missing gs://
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl bucketName valid firebase url
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl path valid firebase url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl path firebase url with no path
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl path non-firebase url
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl name valid firebase url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl name firebase url with no path
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/storage_url_test.dart StorageUrl name non-firebase url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/stripe_portal_url_test.dart Url create valid portal url
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/stripe_portal_url_test.dart Url create valid portal url 2
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok, endpoint ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok, endpoint, uid ok
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok, endpoint, query ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok, endpoint is null, query, uid ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok, endpoint is null, query, uid is null
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: createUriForEndpoint tests createUri ok, endpoint, query, uid is ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: encode tests encode
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: encode tests encode multiple
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: encode tests encode special chars
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: encode tests encode special chars multiple
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: UrlFactory: facebook
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/url_endpoint_test.dart UrlEndpoint: UrlFactory: firebase
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/http_header_test.dart HttpHeaderFactory HttpHeader - get should return correct for get method
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/http_header_test.dart HttpHeaderFactory HttpHeader - post should return correct for post method
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/http_header_test.dart HttpHeaderFactory HttpHeader - get (with auth) should return correct for get method
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/http_header_test.dart HttpHeaderFactory HttpHeader - post (with auth) should return correct for post method
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/storage_util_test.dart StorageUtil StorageUtil sanitize
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/storage_util_test.dart StorageUtil creation metadata for mp4
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/storage_util_test.dart StorageUtil creation metadata for jpg
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/storage_util_test.dart StorageUtil creation metadata for png
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/storage_util_test.dart StorageUtil creation randomFirebaseName generates a name with the correct format
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/storage_util_test.dart StorageUtil creation constructs correct Firebase URL
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper formatChopper should decode valid JSON
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper formatChopper should return null for null body
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/http/util/url_response.dart:25:11) [UrlResponse.formatChopper] -> 
     
     [ ERROR] | 21:36:08 953ms | Stripe response body is null for url ""
     
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper formatChopper should return null for empty body
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/http/util/url_response.dart:28:11) [UrlResponse.formatChopper] -> 
     
     [ ERROR] | 21:36:08 956ms | Stripe response body is empty for url ""
     
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper formatChopper should return null for invalid JSON
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/util/json_util.dart:37:11) [JsonUtil.isJson] -> 
     
     [ WARNING] | 21:36:08 960ms | Failed to decode JSON: invalid json: FormatException: Unexpected character (at character 1)
     invalid json
     ^
     
    
    
     (package:core/http/util/url_response.dart:32:11) [UrlResponse.formatChopper] -> 
     
     [ ERROR] | 21:36:08 960ms | Stripe response body is not a valid JSON for url ""
     	body=invalid json
     	debugMsg=
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper formatChopper should return null for non-JsonDef
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/util/json_util.dart:32:13) [JsonUtil.isJson] -> 
     
     [ WARNING] | 21:36:08 964ms |  Not a valid JSON object: ["array", "not", "map"]
    
    
     (package:core/http/util/url_response.dart:32:11) [UrlResponse.formatChopper] -> 
     
     [ ERROR] | 21:36:08 964ms | Stripe response body is not a valid JSON for url ""
     	body=["array", "not", "map"]
     	debugMsg=
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToDouble should return null for null
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToDouble should return the same double value
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToDouble should convert int to double
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToDouble should parse valid string to double
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToDouble should return null for invalid string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToDouble should return null for unsupported types
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToInt should return null for null
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToInt should return the same int value
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToInt should convert double to int
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToInt should parse valid string to int
    Outcome:Passed
    Duration:0.007 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToInt should return null for invalid string
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/http/util/url_response_test.dart ResponseHelper cvtToInt should return null for unsupported types
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: encoding parameters: kEncodeUrlParams builds query string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: encoding parameters: kEncodeQueryParam encode alphanumeric/query options
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: encoding parameters: kEncodeUrlParams returns null for empty map
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: encoding parameters: kEncodeQuery encodes special characters
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: UrlRegex: extract urls from text
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: UrlRegex: extract urls from text with no urls
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/http/util/url_util_test.dart UrlUtil: UrlRegex: extract raw urls from text
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/image_compressor_test.dart ImageCompressorTest ImageCompressorTest - Image compressor does not run when image within limits
    Outcome:Passed
    Duration:0.006 sec
    Stdout
     (package:core/media/image_compressor.dart:65:13) [ImageCompressor.compressIfRequired] -> 
     
     [ DEBUG] | 21:36:09 7ms | Image test_resources/test_image.jpg is smaller than max size, no need to compress
    Test case:tests unit/media/image_compressor_test.dart ImageCompressorTest compressor should run for large image
    Outcome:Passed
    Duration:0.006 sec
    Stdout
     (package:core/file/local_directory.dart:90:9) [LocalDirectory.getDirectory] -> 
     
     [ WARNING] | 21:36:09 12ms | Failed to get preferred directory of type temp, trying fallback
    
    
     (package:core/file/local_directory.dart:113:9) [LocalDirectory.getFile] -> 
     
     [ DEBUG] | 21:36:09 12ms | Created file path: C:\Users\dave\AppData\Local\Temp\flip_temp.jpg
    
    
     (package:core/media/image_compressor.dart:78:11) [ImageCompressor.compressIfRequired] -> 
     
     [ DEBUG] | 21:36:09 13ms | Scaling image test_resources/test_image.jpg from Size(5000.0, 5000.0) to Size(4096.0, 4096.0)
    Test case:tests unit/media/media_aspect_ratio_test.dart MediaAspectRatio maxMediaSize returns correct sizes
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_aspect_ratio_test.dart MediaAspectRatio aspectRatio returns correct aspect ratios
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_aspect_ratio_test.dart MediaAspectRatio estimateRatio
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize no scaling
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize scale down width
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize scale down height
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize scale down both
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize scale down both with padding
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize scale down both with padding causing rounding
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize scale down both with decimal padding
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize FullscreenSize practical use case, full screen
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize ContentSize options scale (should scale to fit maxSize)
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize ContentSize options scale (should scale) for 1x1
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize ContentSize options scale (should scale) for 16x9
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize ContentSize options scale (should scale) for 9x16
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize ContentSize options scale (should scale) for 4x5
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize ContentSize options scale (should scale) for 5x4
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize Pip Size scaled size uses provided size when available
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize scaled size calculates size based on preferred width when not provided
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/media/media_size_test.dart MediaSize Production Tests woman image
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/media/media_size_test.dart MediaSize Production Tests water video
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword random password length
    Outcome:Passed
    Duration:0.015 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword random password random
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword random password no numbers
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword random password no special chars
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword random password no numbers or special chars
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword next unique string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword next secure string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: randomPassword random bool
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random string tests: random string length
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random string tests: random string random
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random double tests: random double
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random double tests: random double with min and max
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random double tests: random double with min and max, min > max
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random double tests: random double with min and max, min == max
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random double tests: random double negative range
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random int tests: random int
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random int tests: random int with min and max
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random int tests: random int with negative min and max
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random int tests: random int with min and max, min > max
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/random/default_randomizer_test.dart DefaultRandomizer: random int tests: random int with min and max, min == max
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/routing/link_redirector_test.dart LinkRedirector should extract deep link route correctly
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/routing/link_redirector.dart:51:11) [LinkRedirector.redirect] -> 
     
     [ DEBUG] | 21:36:09 102ms | Extracted deep link route: /dare/docId
     	Source=https://chottu.link?deep_link=https://flipdare.com/l/dare/docId
    Test case:tests unit/routing/link_redirector_test.dart LinkRedirector missing prefix should return null
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/routing/link_redirector.dart:44:13) [LinkRedirector.redirect] -> 
     
     [ DEBUG] | 21:36:09 105ms | Extracted deep link route does not start with the expected base
     	Source=https://chottu.link?deep_link=https://flipdare.com/dare/docId
    Test case:tests unit/routing/link_redirector_test.dart LinkRedirector invalid data should return null
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/routing/link_redirector.dart:37:13) [LinkRedirector.redirect] -> 
     
     [ DEBUG] | 21:36:09 109ms | Extracted deep link route is null or empty
     	Source=https://chottu.link?deep_link=
    Test case:tests unit/screen/screen_info_test.dart ScreenInfo getScreenType small screen
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/screen/screen_info_test.dart ScreenInfo getScreenType standard screen
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/screen/screen_info_test.dart ScreenInfo getScreenType large screen
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/screen/screen_info_test.dart ScreenInfo getScreenType xlarge screen
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/screen/screen_info_test.dart ScreenInfo getDiagonalInch calculates diagonal size correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/screen/screen_type_test.dart ScreenType isSmall
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/screen/screen_type_test.dart ScreenType isStandard
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/screen/screen_type_test.dart ScreenType isLarge
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/screen/screen_type_test.dart ScreenType isNotLarge
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/screen/screen_type_test.dart ScreenType when
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/state/network_status_test.dart NetworkStatus: isOnline returns true for online status
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/state/network_status_test.dart NetworkStatus: isOnline returns false for offline status
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/state/snapshot_status_test.dart SnapshotStatus: initial state is loading
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/state/snapshot_status_test.dart SnapshotStatus: pretty returns capitalized value
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/app_store_test.dart AppStore: AppStore - creation setupAttempted true and setupComplete false returns false
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/app_store_test.dart AppStore: AppStore - creation setupComplete true returns true
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/app_store_test.dart AppStore: Reads setup OK
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/app_store_test.dart AppStore: Reads read existing key returns value
    Outcome:Passed
    Duration:0.01 sec
    Stdout
     (package:core/store/app_store.dart:105:13) [AppStore.read] -> 
     
     [ DEBUG] | 21:36:09 146ms | Read key key1 with value value1
    Test case:tests unit/store/app_store_test.dart AppStore: Reads read non-existing key returns null
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/app_store.dart:93:15) [AppStore.read] -> 
     
     [ DEBUG] | 21:36:09 154ms | Key key2 does not exist in store
    Test case:tests unit/store/app_store_test.dart AppStore: Writes setup OK
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/app_store_test.dart AppStore: Writes write with new key/value pair successful
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/store/app_store.dart:122:11) [AppStore.write] -> 
     
     [ DEBUG] | 21:36:09 160ms | Writing key key1 with value value1 to store
    Test case:tests unit/store/app_store_test.dart AppStore: Writes write with existing key/value pair returns null
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/store/app_store.dart:122:11) [AppStore.write] -> 
     
     [ DEBUG] | 21:36:09 163ms | Writing key key1 with value value1 to store
    
    
     (package:core/store/app_store.dart:127:11) [AppStore.write] -> 
     
     [ WARNING] | 21:36:09 164ms | Failed to add preference key1 with value value1
    Test case:tests unit/store/app_store_test.dart AppStore: Writes write with existing key and replace true updates value
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/store/app_store.dart:122:11) [AppStore.write] -> 
     
     [ DEBUG] | 21:36:09 167ms | Writing key key1 with value value2 to store
    Test case:tests unit/store/app_store_test.dart AppStore: Deletes setup OK
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/app_store_test.dart AppStore: Deletes delete existing key returns value
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/store/app_store.dart:151:13) [AppStore.delete] -> 
     
     [ DEBUG] | 21:36:09 172ms | Deleted key key1 with value value1
    Test case:tests unit/store/app_store_test.dart AppStore: Deletes delete non-existing key returns null
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/store/app_store.dart:147:13) [AppStore.delete] -> 
     
     [ WARNING] | 21:36:09 175ms | Failed to delete key key2
    
    
     (package:core/store/app_store.dart:151:13) [AppStore.delete] -> 
     
     [ DEBUG] | 21:36:09 175ms | Deleted key key2 with value null
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - containsKey returns true when key exists
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - containsKey returns false when key does not exist
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - read returns value for existing key
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/base_storage.dart:76:11) [SecureStorage.read] -> 
     
     [ DEBUG] | 21:36:09 184ms | Found key myKey with value myValue
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - read returns null for non-existing key
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/base_storage.dart:66:13) [SecureStorage.read] -> 
     
     [ DEBUG] | 21:36:09 189ms | No existing value for key unknownKey
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - add stores value and returns it
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/store/base_storage.dart:66:13) [SecureStorage.read] -> 
     
     [ DEBUG] | 21:36:09 193ms | No existing value for key newKey
    
    
     (package:core/store/base_storage.dart:103:11) [SecureStorage.add] -> 
     
     [ DEBUG] | 21:36:09 193ms | Wrote value for key newKey as newValue
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - delete removes key and returns it
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/base_storage.dart:76:11) [SecureStorage.read] -> 
     
     [ DEBUG] | 21:36:09 198ms | Found key oldKey with value oldValue
    
    
     (package:core/store/base_storage.dart:120:13) [SecureStorage.delete] -> 
     
     [ DEBUG] | 21:36:09 198ms | Deleted value for key oldKey which was oldValue
    Test case:tests unit/store/base_storage_test.dart BaseStorage: SecureStorage - add does not store value for invalid key
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/base_storage.dart:87:11) [SecureStorage.add] -> 
     
     [ WARNING] | 21:36:09 202ms | Invalid key: 
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - containsKey returns true when key exists
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - containsKey returns false when key does not exist
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - read returns value for existing key
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/store/base_storage.dart:168:11) [PreferenceStorage.read] -> 
     
     [ DEBUG] | 21:36:09 210ms | Found key myKey with value myValue
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - read returns null for non-existing key
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/base_storage.dart:171:11) [PreferenceStorage.read] -> 
     
     [ WARNING] | 21:36:09 213ms | Error reading value for key unknownKey: MissingStubError: 'getString'
     No stub was found which matches the arguments of this method call:
     getString('unknownKey')
     
     Add a stub for this method using Mockito's 'when' API, or generate the MockSharedPreferencesAsync mock with the @GenerateNiceMocks annotation (see https://pub.dev/documentation/mockito/latest/annotations/MockSpec-class.html).
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - add stores value and returns it
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/store/base_storage.dart:171:11) [PreferenceStorage.read] -> 
     
     [ WARNING] | 21:36:09 217ms | Error reading value for key newKey: MissingStubError: 'getString'
     No stub was found which matches the arguments of this method call:
     getString('newKey')
     
     Add a stub for this method using Mockito's 'when' API, or generate the MockSharedPreferencesAsync mock with the @GenerateNiceMocks annotation (see https://pub.dev/documentation/mockito/latest/annotations/MockSpec-class.html).
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - delete removes key and returns it
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/store/base_storage.dart:168:11) [PreferenceStorage.read] -> 
     
     [ DEBUG] | 21:36:09 223ms | Found key oldKey with value oldValue
    
    
     (package:core/store/base_storage.dart:215:13) [PreferenceStorage.delete] -> 
     
     [ DEBUG] | 21:36:09 223ms | Deleted value for key oldKey which was oldValue
    Test case:tests unit/store/base_storage_test.dart BaseStorage: PreferencesStorage - add does not store value for invalid key
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/store/base_storage.dart:179:11) [PreferenceStorage.add] -> 
     
     [ WARNING] | 21:36:09 227ms | Invalid key: 
    Test case:tests unit/stripe/stripe_country_code_test.dart StripeCountryCode: stripeFormatted
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/stripe/stripe_country_code_test.dart StripeCountryCode: fromString
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_country_code_test.dart StripeCountryCode: get currencyCode
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/stripe/stripe_country_code_test.dart StripeCountryCode: should verify stripeFormatted matches JsonValue
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/stripe/stripe_country_code_test.dart StripeCountryCode: fromValue should parse correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/stripe/stripe_country_code_test.dart StripeCountryCode: fromValue should throw for invalid country codes
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: creation
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: fromValue returns correct currency
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: fromValue throws invalid argument exception for invalid code
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: currencyLabels returns correct labels
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: currencyIndex returns correct index
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: currencyCodes returns correct codes
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: countryLabels returns correct labels
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: countryIndex returns correct index
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currencies_test.dart StripeCurrencies: countryCodes returns correct codes
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: StripeCurrencyCode: formatted
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: StripeCurrencyCode: fromValue
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: StripeCurrencyCode: symbol
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: isOnLeft: should return correct position for USD
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: isOnLeft: should return correct position for INR
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: isOnLeft: should return correct position for CZK
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/stripe/stripe_currency_code_test.dart StripeCurrencyCode: isOnLeft: should return correct position for HUF
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/text/custom_text_style_test.dart CustomTextStyle: override correctly sets the font size
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/text/custom_text_style_test.dart CustomTextStyle: copyWith retains CustomTextStyle properties
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/text/custom_text_style_test.dart CustomTextStyle: copyWith overrides correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/theme/alert/alert_constraints_test.dart AlertConstraints initialization
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil fieldValueToDt Timestamp to DateTime ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil utcToLocalDt Timestamp to local DateTime ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil dtToEpoch DateTime to epoch seconds ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil epochToDt epoch seconds to DateTime ok
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil subtractDurationAsUtc get time before date as utc ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil subtractDurationAsUtc get time before date as utc ok for seconds
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil subtractDurationAsUtc get time before date with start as utc ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil subtractDurationAsUtc invalid duration
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatSimpleUser format simple user ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatLongUser format long user ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatUserAge format user age just now
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatUserAge format user age minutes ago
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatUserAge format user age hours ago
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatUserAge format user age days ago
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil formatUserAge format user age date
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds pretty seconds ok for seconds only
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds justified: pretty seconds ok for seconds only
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds pretty seconds ok for minutes only
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds justified, pretty seconds ok for minutes only
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds pretty seconds ok for hours only
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds justify, pretty seconds ok for hours only
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds pretty seconds ok for hours and minutes
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds justify, pretty seconds ok for hours and minutes
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds pretty seconds ok for hours, minutes and seconds
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/time_util_test.dart TimeUtil TimeUtils.formatUserSeconds justify, pretty seconds ok for hours, minutes and seconds
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/video_time_test.dart VideoTime: formatDuration ok for seconds only
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/video_time_test.dart VideoTime: formatDuration ok for minutes only
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/video_time_test.dart VideoTime: formatDuration ok for hours only
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/time/video_time_test.dart VideoTime: formatDuration ok for hours and minutes
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/time/video_time_test.dart VideoTime: formatDuration ok for hours, minutes and seconds
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/typedefs_test.dart Typedefs Unit Tests Facebook Unit Tests FacebookInfo ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/uri/base_uri_launcher_test.dart BaseUriLauncher: ok
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/uri/base_uri_launcher.dart:36:11) [BaseUriLauncher.launch] -> 
     
     [ INFO] | 21:36:09 322ms | Status of can launch is true for uri https://www.google.com
    
    
     (package:core/uri/base_uri_launcher.dart:49:11) [BaseUriLauncher.launch] -> 
     
     [ INFO] | 21:36:09 322ms | Status of launch is true for uri https://www.google.com
    Test case:tests unit/uri/base_uri_launcher_test.dart BaseUriLauncher: not ok - canlaunch
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/uri/base_uri_launcher.dart:36:11) [BaseUriLauncher.launch] -> 
     
     [ INFO] | 21:36:09 325ms | Status of can launch is false for uri https://www.google.com
    Test case:tests unit/uri/base_uri_launcher_test.dart not ok - launch
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/uri/base_uri_launcher.dart:36:11) [BaseUriLauncher.launch] -> 
     
     [ INFO] | 21:36:09 328ms | Status of can launch is true for uri https://www.google.com
    
    
     (package:core/uri/base_uri_launcher.dart:49:11) [BaseUriLauncher.launch] -> 
     
     [ INFO] | 21:36:09 328ms | Status of launch is false for uri https://www.google.com
    Test case:tests unit/util/byte_range_test.dart Bytes Range Tests ByteRange: creation ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/byte_range_test.dart Bytes Range Tests ByteRange: creation with negatives/zero throws assertion error
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/util/byte_range_test.dart Bytes Range Tests ByteRange: current value updates ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/cacheable_test.dart Cacheable initialization
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/cacheable_test.dart Cacheable hasExpired returns false before expiration
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/cacheable_test.dart Cacheable hasExpired returns true after expiration
    Outcome:Passed
    Duration:0.153 sec
    Test case:tests unit/util/cacheable_test.dart Cacheable resetExpire updates lastUpdated
    Outcome:Passed
    Duration:0.503 sec
    Test case:tests unit/util/emoji_entry_test.dart EmojiEntry: creation
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/emoji_entry_test.dart EmojiEntry: equality
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/emoji_string_test.dart emoji_string: encode: no emojis
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/util/emoji_string.dart:24:11) [EmojiString.encode] -> 
     
     [ DEBUG] | 21:36:10 3ms | encode: no emojis found or emojis already encoded in hello world
    Test case:tests unit/util/emoji_string_test.dart emoji_string: encode:decode with emojis
    Outcome:Passed
    Duration:0.005 sec
    Stdout
      [runEmojiStringUnitTests.<anonymous] -> 
     
     [ DEBUG] | 21:36:10 7ms | encoded: hello world :grinning_face:
    
    
      [runEmojiStringUnitTests.<anonymous] -> 
     
     [ DEBUG] | 21:36:10 7ms | decoded: hello world 
    Test case:tests unit/util/emoji_string_test.dart emoji_string: encode:decode with multiple emojis
    Outcome:Passed
    Duration:0.033 sec
    Test case:tests unit/util/emoji_string_test.dart emoji_string: duplicate encoding should not occur
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/util/emoji_string.dart:24:11) [EmojiString.encode] -> 
     
     [ DEBUG] | 21:36:10 44ms | encode: no emojis found or emojis already encoded in hello world :rocket:
    Test case:tests unit/util/encryption_helper_test.dart encryption_helper: encrypt string
    Outcome:Passed
    Duration:0.006 sec
    Test case:tests unit/util/enum_map_test.dart EnumMap creation
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/enum_map_test.dart EnumMap keys
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/util/enum_map_test.dart EnumMap values
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/enum_map_test.dart EnumMap containsKey
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/enum_map_test.dart EnumMap operator[]=
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/enum_map_test.dart EnumMap operator[]
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/exponential_backoff_test.dart ExponentialBackOff default parameters
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/exponential_backoff_test.dart ExponentialBackOff delay should increase
    Outcome:Passed
    Duration:0.004 sec
    Stdout
      [runExponentialBackOffUnitTests.<anonymous] -> 
     
     [ DEBUG] | 21:36:10 67ms | ------------------------------------------------------
     ------------------------------------------------------
     Default ExponentialBackoff delay intervals:
     
     Interval 0: 380 ms
     Interval 1: 1088 ms
     Interval 2: 1550 ms
     Interval 3: 3088 ms
     ------------------------------------------------------
     ------------------------------------------------------
     
    Test case:tests unit/util/exponential_backoff_test.dart ExponentialBackOff delay should return null when max attempts are exceeded
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/util/exponential_backoff.dart:59:13) [ExponentialBackoff.nextInterval] -> 
     
     [ DEBUG] | 21:36:10 71ms | Max attempts reached (4 >= 4).
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return original data when query is empty
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return original data when query is empty (regex)
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return original data when query is empty (regex)
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return null when data is empty
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return null when data is empty (regex)
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should filter items based on case-insensitive substring match
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should filter items based on case-sensitive substring match
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should filter items based on regex match
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return original data when query is empty
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should return null when data is empty
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should filter items based on case-insensitive substring match
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should filter items based on case-sensitive substring match
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/filtered_list_test.dart FilteredList should filter items based on regex match
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator nameValidator returns error for empty name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator nameValidator returns error for name with less than 2 letters
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator nameValidator returns error for name with first name less than 2 letters
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator nameValidator returns error for name without space
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator nameValidator cleans up multiple spaces and validates successfully
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator emailValidator returns error for empty email
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator emailValidator returns error for invalid email
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator passwordValidator returns error for empty password
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/form_validator_test.dart FormValidator passwordValidator returns error for short password
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/google_login_info_test.dart Google Unit Tests GoogleInfo ok
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil diff diff provides correct diff messages
    Outcome:Passed
    Duration:0.003 sec
    Stdout
      [_runJsonDiffMessages.<anonymous] -> 
     
     [ ERROR] | 21:36:10 114ms | 3-4 diff   city: (missing) -> New York
     
    Test case:tests unit/util/json_util_test.dart JsonUtil diff diff should return null cases
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil gIsJson should return false for null
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil gIsJson should return false for empty string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil gIsJson should return true for valid JSON string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil gIsJson should return false for invalid JSON string
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/util/json_util.dart:37:11) [JsonUtil.isJson] -> 
     
     [ WARNING] | 21:36:10 124ms | Failed to decode JSON: invalid json: FormatException: Unexpected character (at character 1)
     invalid json
     ^
     
    
    
     (package:core/util/json_util.dart:32:13) [JsonUtil.isJson] -> 
     
     [ WARNING] | 21:36:10 126ms |  Not a valid JSON object: 12345
    Test case:tests unit/util/json_util_test.dart JsonUtil isEqual isEqual compares JSON objects correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil isEqual gIsJsonEqual with deepCompare differs
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil isEqual gIsJsonEqual with different map types
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil isEqual gIsJsonEqual with missing keys
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil format should format valid JSON
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil format should return empty for empty JSON
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil format should format JSON string
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil wrap gWrapJson wraps lines correctly
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/json_util_test.dart JsonUtil wrap gWrapJson handles empty string
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList should store and retrieve values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList getters should return the correct values
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList newest should return the most recently added item
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/util/lru_fixed_list.dart:63:11) [LRUFixedList.newest] -> 
     
     [ WARNING] | 21:36:10 153ms | List is empty, returning null for newest
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList oldest should return the least recently added item
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/util/lru_fixed_list.dart:55:11) [LRUFixedList.oldest] -> 
     
     [ WARNING] | 21:36:10 157ms | List is empty, returning null for oldest
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList should evict oldest item when max size is exceeded
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList size should not exceed maxSize
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList should throw RangeError for invalid index
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList pop should remove and return the oldest item
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList shift should remove and return the newest item
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList clear should remove all items
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_list_test.dart LruFixedList delete should remove item at specified index and preserve lru order
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap should store and retrieve values
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap getters should return the correct values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap should evict least recently used item when max size is exceeded
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap should update recently used item on get
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap size should not exceed maxSize
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap values should return all stored values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap keys should return all stored keys
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap should update value if key already exists
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap delete should remove the specified key
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap newest should return the most recently used value
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap oldest should return the least recently used value
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap getOrNull should return null for non-existent key
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap get should throw StateError for non-existent key
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap removeWhere should remove entries matching the condition
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap clear should remove all entries
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap containsKey should return true if key exists
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap containsValue should return true if value exists
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/lru_fixed_map_test.dart LRUFixedMap peek should return value without updating its usage
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/pin_code_test.dart PinCode: should create a PinCode instance with the correct properties
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/pin_code_test.dart PinCode: should return true for matches when the input matches the pin code
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/pin_code_test.dart PinCode: should return false for matches when the input does not match the pin code
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/pin_code_test.dart PinCode: edge case, empty pin code should not match anything
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/pin_code_test.dart PinCode: should parse a string into a PinCode instance
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/pin_code_test.dart PinCode: should throw a FormatException for invalid pin code format
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/util/pin_code.dart:25:11) [PinCode.fromString] -> 
     
     [ ERROR] | 21:36:10 216ms | Invalid pin code format: "12a4"
    
    
     (package:core/util/pin_code.dart:33:11) [PinCode.fromString] -> 
     
     [ ERROR] | 21:36:10 216ms | Pin code must be a minimum of 4 digits: "123"
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexOptions case insensitive
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexOptions anchor start
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexOptions anchor end
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexOptions dot all
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexOptions not dot all
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexOptions multiline
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper isMatch - simple (case sensitive)
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper isMatch - case insensitive
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper isMatch - anchor start
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper isMatch - anchor end
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper allMatches - simple
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper firstMatch - simple
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/regex_helper_test.dart regex_helper RegexHelper firstMatch - no match
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/state_value_test.dart StateValue: initial state
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/state_value_test.dart StateValue: set value
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/state_value_test.dart StateValue: change true when changed
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/state_value_test.dart StateValue: change false when not changed
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/state_value_test.dart StateValue: change false when null
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/state_value_test.dart StateValue: change true when set to null
    Outcome:Passed
    Duration:0.005 sec
    Test case:tests unit/util/text_util_test.dart Typeahead Sizer Tests getSnippet Tests getSnippet, no change
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/util/text_util_test.dart Typeahead Sizer Tests getSnippet Tests getSnippet, match at start
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/text_util_test.dart Typeahead Sizer Tests getSnippet Tests getSnippet, match in middle
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/text_util_test.dart Typeahead Sizer Tests getSnippet Tests getSnippet, match at end
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/text_util_test.dart Typeahead Sizer Tests getSnippet Edge Tests getSnippet, long match, match ends past window boundary
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/toggle_value_test.dart ToggleValue toggle value changes state
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Scrub email tests: scrub email for first/last name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Scrub email tests: scrub email for first name
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/util/user_util_test.dart user_helper: First name tests: first first and last name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: First name tests: first first name
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: First name tests: for empty string
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Last name tests: first and last name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Last name tests: complex name
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Last name tests: first name only
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Last name tests: empty name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Safe name tests: safe name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Safe name tests: safe name falls back to name if displayName is not valid
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Guess name from email tests: guess name from email
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Guess name from email tests: guess name from email with no dot
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Generate initial display name tests: generateInitialDisplayName does not contain email part
    Outcome:Passed
    Duration:0.004 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Generate initial display name tests: generateInitialDisplayName unique for same email
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Display name to Pascal case tests: for first and last name
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Display name to Pascal case tests: for badly formatted name with special chars
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Display name to Pascal case tests: preserves whitespace word boundaries
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Display name to Pascal case tests: for single first name
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/util/user_util_test.dart user_helper: Display name to Pascal case tests: for empty display name
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_continue_type_test.dart VideoContinueType initialization
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_continue_type_test.dart VideoContinueType values list
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier initial state is set correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier seekTo updates position correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier status setter updates status correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier reset playable sets status to idle and resets error
    Outcome:Passed
    Duration:0.003 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier reset playable sets status to idle and resets error
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier set Atomic Positions only triggers state change once
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier set error updates state correctly
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/video/video_player_state_notifier.dart:89:9) [VideoPlayerStateNotifier.setError] -> 
     
     [ WARNING] | 21:36:10 329ms | Setting video error: An error occurred
    Test case:tests unit/video/video_player_state_notifier_test.dart VideoPlayerStateNotifier clear error updates state correctly
    Outcome:Passed
    Duration:0.005 sec
    Stdout
     (package:core/video/video_player_state_notifier.dart:89:9) [VideoPlayerStateNotifier.setError] -> 
     
     [ WARNING] | 21:36:10 332ms | Setting video error: An error occurred
    
    
     (package:core/video/video_player_state_notifier.dart:95:9) [VideoPlayerStateNotifier.clearError] -> 
     
     [ DEBUG] | 21:36:10 332ms | Clearing video error: An error occurred
    
    
     (package:core/video/video_player_state.dart:81:13) [VideoPlayerState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 332ms | Resetting last error: An error occurred
    
    
     (package:core/video/video_player_state.dart:86:13) [VideoPlayerState.copyWith] -> 
     
     [ WARNING] | 21:36:10 332ms | New status not known, setting to unknown
    Test case:tests unit/video/video_player_state_test.dart VideoState lastError is set correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_player_state_test.dart VideoState lastError is reset correctly
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/video/video_player_state.dart:81:13) [VideoPlayerState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 339ms | Resetting last error: An error occurred
    
    
     (package:core/video/video_player_state.dart:86:13) [VideoPlayerState.copyWith] -> 
     
     [ WARNING] | 21:36:10 340ms | New status not known, setting to unknown
    Test case:tests unit/video/video_player_state_test.dart VideoState position cannot exceed duration
    Outcome:Passed
    Duration:0.002 sec
    Stdout
     (package:core/video/video_player_state.dart:73:11) [VideoPlayerState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 343ms | Capping position 0:02:30.000000 to duration 0:01:40.000000
    Test case:tests unit/video/video_player_state_test.dart VideoState copyWith creates a new instance with updated values
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_player_state_test.dart VideoState equality
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_position_test.dart VideoPosition seek method updates position correctly
    Outcome:Passed
    Duration:0.003 sec
    Stdout
      [runVideoPositionUnitTests.<anonymous] -> 
     
     [ DEBUG] | 21:36:10 348ms | Initial Position: VideoPosition(position: 0:00:30.000000, bufferPosition: 0:00:40.000000, duration: 0:02:00.000000)
    
    
      [runVideoPositionUnitTests.<anonymous] -> 
     
     [ DEBUG] | 21:36:10 348ms | New Position after seeking 15 seconds: VideoPosition(position: 0:00:45.000000, bufferPosition: 0:00:40.000000, duration: 0:02:00.000000)
    Test case:tests unit/video/video_position_test.dart VideoPosition zero constant has all durations set to zero
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_position_test.dart VideoPosition seek does not exceed duration
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/video/video_position.dart:49:11) [VideoPosition.seek] -> 
     
     [ DEBUG] | 21:36:10 354ms | Capping position 0:01:50.000000 to duration 0:01:40.000000
    Test case:tests unit/video/video_position_test.dart VideoPosition equality
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_settings_state_notifier_test.dart VideoSettingsStateNotifier Initial state is default VideoSettingsState
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_settings_state_notifier_test.dart VideoSettingsStateNotifier Reset sets state back to default
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/video/video_settings_state_notifier.dart:40:9) [VideoSettingsStateNotifier.reset] -> 
     
     [ DEBUG] | 21:36:10 363ms | Reset'ed video settings state: VideoManagerState(state: VideoState{
       seekDuration=0:00:15.000000,
       autoPlay=truepreferHighQuality=true,
       continueType=VideoContinueType.stop,
       playbackSpeed=VideoSpeed.normal,
       screenMode=ScreenMode.normal,
       autoMute=false isMuted=false,
       volume=Volume(1.0) Rounded(1.0)
     })
    Test case:tests unit/video/video_settings_state_notifier_test.dart VideoSettingsStateNotifier Setters update state correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_settings_state_notifier_test.dart VideoSettingsStateNotifier setAtomicVolume updates volume correctly
    Outcome:Passed
    Duration:0.004 sec
    Stdout
     (package:core/video/video_settings_state.dart:86:11) [VideoSettingsState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 368ms | Setting last volume to 0.7
    
    
     (package:core/video/video_settings_state.dart:98:15) [VideoSettingsState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 368ms | Un-muting video and restoring volume to Volume(0.7) Rounded(0.7)
    Test case:tests unit/video/video_settings_state_test.dart VideoSettingsState copyWith creates a new instance with updated values
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/video/video_settings_state.dart:86:11) [VideoSettingsState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 372ms | Setting last volume to 0.8
    Test case:tests unit/video/video_settings_state_test.dart VideoSettingsState equality operator works correctly
    Outcome:Passed
    Duration:0.003 sec
    Stdout
     (package:core/video/video_settings_state.dart:86:11) [VideoSettingsState.copyWith] -> 
     
     [ DEBUG] | 21:36:10 375ms | Setting last volume to 0.8
    Test case:tests unit/video/video_settings_state_test.dart VideoSettingsState fromUser create state
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_settings_state_test.dart VideoSettingsState volume is set correctly
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_settings_state_test.dart VideoSettingsState volume is set correctly when muted/unmuted
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_settings_state_test.dart VideoSettingsState volume is clamped between 0.0 and 1.0
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_speed_test.dart VideoSpeed Values are correctly assigned
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_speed_test.dart VideoSpeed Equality operator works correctly
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/video_speed_test.dart VideoSpeed formatted speeds
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/video/video_speed_test.dart VideoSpeed fromIndex returns correct VideoSpeed
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/volume_test.dart Volume Value is clamped between 0.0 and 1.0
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/video/volume_test.dart Volume Equality operator works correctly
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return setup when controller is null
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return initializing when controller is not initialized
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return ready when controller is initialized and not recording
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return recording when controller is recording video
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return paused when controller is recording video and paused
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isSettingUp when state is initializing or setup
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isError when state is error
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isRecording when state is recording
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isPaused when state is paused
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isResumed when state is resumed
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isStopped when state is stopped
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isRecordingNotPaused when state is recording
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return isPausedOrNotRecording when state is paused or ready
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return showTimer when state is recording, paused or resumed
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/camera_state_test.dart CameraState: fromController should return hasContent when state is resumed, paused or recording
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/option_test.dart OptionUnitTests: init
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/option_test.dart OptionUnitTests: fold
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/widget/percent_size_test.dart PercentSizeUnitTests: init
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/percent_size_test.dart PercentSizeUnitTests: width
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests unit/widget/percent_size_test.dart PercentSizeUnitTests: height
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/percent_size_test.dart PercentSizeUnitTests: division by PercentSize
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/percent_size_test.dart PercentSizeUnitTests: division by double
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/percent_size_test.dart PercentSizeUnitTests: addWidth
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/position_test.dart PositionUnitTests: init
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/position_test.dart PositionUnitTests: equals
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/position_test.dart PositionUnitTests: symmetric
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/position_test.dart PositionUnitTests: copyWith
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition default constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition position constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition topOf constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition topRightOf constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition topLeftOf constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition bottomOf constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition bottomRightOf constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition bottomLeftOf constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition zero constructor
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition center
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/stack_position_test.dart StackPosition filled
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/widget_dock_test.dart WidgetDock top
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/widget_dock_test.dart WidgetDock bottom
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/widget_dock_test.dart WidgetDock center
    Outcome:Passed
    Duration:0.001 sec
    Test case:tests unit/widget/widget_dock_test.dart WidgetDock alignment
    Outcome:Passed
    Duration:0.002 sec
    Test case:tests widget/extension/build_context_ext_widget_test.dart BuildContext extension - Widget: parameters - screenSize, pixelRatio, isLandscape, size, theme, screenCenter
    Outcome:Passed
    Duration:0.008 sec
    Test case:tests widget/extension/build_context_ext_widget_test.dart BuildContext extension - Widget: fitToScreen - smaller size unchanged
    Outcome:Passed
    Duration:0.005 sec
    Test case:tests widget/extension/build_context_ext_widget_test.dart BuildContext extension - Widget: fitToScreen - larger width scaled
    Outcome:Passed
    Duration:0.006 sec
    Test case:tests widget/extension/build_context_ext_widget_test.dart BuildContext extension - Widget: fitToScreen - larger width and height scaled
    Outcome:Passed
    Duration:0.009 sec
    Test case:tests widget/screen/screen_info_widget_test.dart ScreenSize - Widget returns correct values from MediaQueryData
    Outcome:Passed
    Duration:0.006 sec
    Test case:tests widget/screen/screen_info_widget_test.dart ScreenSize - Widget handles different screen sizes correctly
    Outcome:Passed
    Duration:0.008 sec
    Test case:tests widget/screen/screen_info_widget_test.dart ScreenSize - Widget equality operator
    Outcome:Passed
    Duration:0.005 sec

    Suite stdout:

     (package:core/admin/service_manager.dart:135:11) [ServiceManager.unregister] -> 
     
     [ DEBUG] | 21:36:08 500ms | Unregistered GetIt of Type AppTheme

    Suite stderr:

    None