• Ian Hickson's avatar
    Rationalise all our exception handling. · ee703da9
    Ian Hickson authored
    - Create a FlutterErrorDetails struct-like class that describes an
    
      exception along with more details that aren't in the exception, like
    
      where it was caught and what was going on when it was caught.
    
    
    
    - Provide a FlutterError static API for handling these objects:
    
    
    
      - FlutterError.onError which is called whenever Flutter catches an
    
        error.
    
    
    
      - FlutterError.reportError() which handles an error.
    
    
    
      - FlutterError.dumpErrorToConsole() which is the default behavior
    
        for onError.
    
    
    
    - Removes all the existing exception handler callbacks.
    
    
    
    - Replaces all the existing places that described exceptions using
    
      debugPrint with calls to FlutterError.reportError().
    
    
    
    - Extend lockState() to also catch exceptions, so that we catch
    
      exceptions that happen during finalizers.
    
    
    
    - Make the test framework catch errors and treat them as failures.
    
    
    
    - Provide a mechanism to override this behavior in the test framework.
    
    
    
    - Make the tests that used to depend on the exception handler
    
      callbacks use this new mechanism.
    
    
    
    - Make pump() also support the phase argument.
    
    
    
    - Improve some tests using these new features.
    
    
    
    Fixes #2356, #2988, #2985, #2220.
    ee703da9
Name
Last commit
Last update
..
align_test.dart Loading commit data...
animated_container_test.dart Loading commit data...
animated_positioned_test.dart Loading commit data...
aspect_ratio_test.dart Loading commit data...
asset_vendor_test.dart Loading commit data...
banner_test.dart Loading commit data...
block_test.dart Loading commit data...
bottom_sheet_rebuild_test.dart Loading commit data...
bottom_sheet_test.dart Loading commit data...
box_decoration_test.dart Loading commit data...
build_scope_test.dart Loading commit data...
buttons_test.dart Loading commit data...
center_test.dart Loading commit data...
coordinates_test.dart Loading commit data...
custom_multi_child_layout_test.dart Loading commit data...
custom_one_child_layout_test.dart Loading commit data...
custom_paint_test.dart Loading commit data...
date_picker_test_disabled.dart Loading commit data...
dismissable_test.dart Loading commit data...
draggable_test.dart Loading commit data...
drawer_test.dart Loading commit data...
duplicate_key_test.dart Loading commit data...
flex_test.dart Loading commit data...
focus_test.dart Loading commit data...
form_test.dart Loading commit data...
fractionally_sized_box_test.dart Loading commit data...
gesture_detector_test.dart Loading commit data...
heroes_test.dart Loading commit data...
hyperlink_test.dart Loading commit data...
icon_test.dart Loading commit data...
image_test.dart Loading commit data...
independent_widget_layout_test.dart Loading commit data...
inherited_test.dart Loading commit data...
init_state_test.dart Loading commit data...
input_test.dart Loading commit data...
listener_test.dart Loading commit data...
media_query_test.dart Loading commit data...
mixed_viewport_test.dart Loading commit data...
modal_barrier_test.dart Loading commit data...
multichild_test.dart Loading commit data...
navigator_test.dart Loading commit data...
overflow_box_test.dart Loading commit data...
page_forward_transitions_test.dart Loading commit data...
page_transitions_test.dart Loading commit data...
pageable_list_test.dart Loading commit data...
parent_data_test.dart Loading commit data...
positioned_test.dart Loading commit data...
progress_indicator_test.dart Loading commit data...
raw_keyboard_listener_test.dart Loading commit data...
remember_scroll_position_test.dart Loading commit data...
render_object_widget_test.dart Loading commit data...
reparent_state_test.dart Loading commit data...
rotated_box_test.dart Loading commit data...
routes_test.dart Loading commit data...
scroll_behavior_test.dart Loading commit data...
scroll_events_test.dart Loading commit data...
scrollable_lazy_list_test.dart Loading commit data...
scrollable_list_hit_testing_test.dart Loading commit data...
scrollable_list_horizontal_test.dart Loading commit data...
scrollable_list_vertical_test.dart Loading commit data...
scrollable_list_with_inherited_test.dart Loading commit data...
semantics_1_test.dart Loading commit data...
semantics_2_test.dart Loading commit data...
semantics_3_test.dart Loading commit data...
semantics_4_test.dart Loading commit data...
semantics_5_test.dart Loading commit data...
semantics_6_test.dart Loading commit data...
semantics_7_test.dart Loading commit data...
semantics_8_test.dart Loading commit data...
set_state_2_test.dart Loading commit data...
set_state_3_test.dart Loading commit data...
set_state_test.dart Loading commit data...
shader_mask_test.dart Loading commit data...
snack_bar_test.dart Loading commit data...
snap_scrolling_test.dart Loading commit data...
stack_test.dart Loading commit data...
stateful_component_test.dart Loading commit data...
stateful_components_test.dart Loading commit data...
syncing_test.dart Loading commit data...
table_test.dart Loading commit data...
tabs_test.dart Loading commit data...
test_matchers.dart Loading commit data...
test_semantics.dart Loading commit data...
test_widgets.dart Loading commit data...
tooltip_test.dart Loading commit data...
transform_test.dart Loading commit data...
two_level_list_test.dart Loading commit data...