Skip to content

Many API Examples are missing tests #130459

@gspencergoog

Description

@gspencergoog

In the examples/api directory, we have a lot of examples (over 200) that don't have corresponding tests written for them.

For example, all of these test files are missing:

  examples/api/test/cupertino/text_field/cupertino_text_field.0_test.dart
  examples/api/test/material/bottom_app_bar/bottom_app_bar.2_test.dart
  examples/api/test/material/bottom_app_bar/bottom_app_bar.1_test.dart
  examples/api/test/material/theme/theme_extension.1_test.dart
  examples/api/test/material/elevated_button/elevated_button.0_test.dart
  examples/api/test/material/material_state/material_state_border_side.0_test.dart
  examples/api/test/material/material_state/material_state_mouse_cursor.0_test.dart
  examples/api/test/material/material_state/material_state_outlined_border.0_test.dart
  examples/api/test/material/material_state/material_state_property.0_test.dart
  examples/api/test/material/selectable_region/selectable_region.0_test.dart
  examples/api/test/material/text_field/text_field.2_test.dart
  examples/api/test/material/text_field/text_field.1_test.dart
  examples/api/test/material/button_style/button_style.0_test.dart
  examples/api/test/material/range_slider/range_slider.0_test.dart
  examples/api/test/material/card/card.2_test.dart
  examples/api/test/material/card/card.0_test.dart
  examples/api/test/material/selection_container/selection_container_disabled.0_test.dart
  examples/api/test/material/selection_container/selection_container.0_test.dart
  examples/api/test/material/color_scheme/dynamic_content_color.0_test.dart
  examples/api/test/material/platform_menu_bar/platform_menu_bar.0_test.dart
  examples/api/test/material/menu_anchor/menu_anchor.2_test.dart
  examples/api/test/material/stepper/stepper.controls_builder.0_test.dart
  examples/api/test/material/stepper/stepper.0_test.dart
  examples/api/test/material/flexible_space_bar/flexible_space_bar.0_test.dart
  examples/api/test/material/data_table/data_table.1_test.dart
  examples/api/test/material/data_table/data_table.0_test.dart
  examples/api/test/material/floating_action_button_location/standard_fab_location.0_test.dart
  examples/api/test/material/chip/deletable_chip_attributes.on_deleted.0_test.dart
  examples/api/test/material/snack_bar/snack_bar.0_test.dart
  examples/api/test/material/snack_bar/snack_bar.2_test.dart
  examples/api/test/material/snack_bar/snack_bar.1_test.dart
  examples/api/test/material/bottom_navigation_bar/bottom_navigation_bar.0_test.dart
  examples/api/test/material/bottom_navigation_bar/bottom_navigation_bar.1_test.dart
  examples/api/test/material/outlined_button/outlined_button.0_test.dart
  examples/api/test/material/icon_button/icon_button.2_test.dart
  examples/api/test/material/icon_button/icon_button.3_test.dart
  examples/api/test/material/icon_button/icon_button.0_test.dart
  examples/api/test/material/icon_button/icon_button.1_test.dart
  examples/api/test/material/expansion_panel/expansion_panel_list.0_test.dart
  examples/api/test/material/expansion_panel/expansion_panel_list.expansion_panel_list_radio.0_test.dart
  examples/api/test/material/input_decorator/input_decoration.1_test.dart
  examples/api/test/material/input_decorator/input_decoration.prefix_icon_constraints.0_test.dart
  examples/api/test/material/input_decorator/input_decoration.material_state.0_test.dart
  examples/api/test/material/input_decorator/input_decoration.2_test.dart
  examples/api/test/material/input_decorator/input_decoration.0_test.dart
  examples/api/test/material/input_decorator/input_decoration.label.0_test.dart
  examples/api/test/material/input_decorator/input_decoration.suffix_icon_constraints.0_test.dart
  examples/api/test/material/input_decorator/input_decoration.3_test.dart
  examples/api/test/material/input_decorator/input_decoration.material_state.1_test.dart
  examples/api/test/material/filled_button/filled_button.0_test.dart
  examples/api/test/material/text_form_field/text_form_field.1_test.dart
  examples/api/test/material/scrollbar/scrollbar.1_test.dart
  examples/api/test/material/scrollbar/scrollbar.0_test.dart
  examples/api/test/material/dropdown_menu/dropdown_menu.1_test.dart
  examples/api/test/material/dropdown_menu/dropdown_menu.0_test.dart
  examples/api/test/material/radio/radio.toggleable.0_test.dart
  examples/api/test/material/radio/radio.0_test.dart
  examples/api/test/material/search_anchor/search_anchor.0_test.dart
  examples/api/test/material/search_anchor/search_anchor.1_test.dart
  examples/api/test/material/search_anchor/search_anchor.2_test.dart
  examples/api/test/material/about/about_list_tile.0_test.dart
  examples/api/test/material/tab_controller/tab_controller.1_test.dart
  examples/api/test/material/selection_area/selection_area.0_test.dart
  examples/api/test/material/scaffold/scaffold.end_drawer.0_test.dart
  examples/api/test/material/scaffold/scaffold.drawer.0_test.dart
  examples/api/test/material/scaffold/scaffold.1_test.dart
  examples/api/test/material/scaffold/scaffold.of.0_test.dart
  examples/api/test/material/scaffold/scaffold_messenger.of.0_test.dart
  examples/api/test/material/scaffold/scaffold_messenger.0_test.dart
  examples/api/test/material/scaffold/scaffold.0_test.dart
  examples/api/test/material/scaffold/scaffold_state.show_bottom_sheet.0_test.dart
  examples/api/test/material/scaffold/scaffold.2_test.dart
  examples/api/test/material/scaffold/scaffold_messenger_state.show_material_banner.0_test.dart
  examples/api/test/material/scaffold/scaffold.of.1_test.dart
  examples/api/test/material/scaffold/scaffold_messenger.of.1_test.dart
  examples/api/test/material/scaffold/scaffold_messenger_state.show_snack_bar.0_test.dart
  examples/api/test/material/segmented_button/segmented_button.0_test.dart
  examples/api/test/material/app_bar/app_bar.2_test.dart
  examples/api/test/material/app_bar/sliver_app_bar.1_test.dart
  examples/api/test/material/app_bar/sliver_app_bar.2_test.dart
  examples/api/test/material/app_bar/sliver_app_bar.3_test.dart
  examples/api/test/material/app_bar/app_bar.1_test.dart
  examples/api/test/material/app_bar/sliver_app_bar.4_test.dart
  examples/api/test/material/app_bar/app_bar.3_test.dart
  examples/api/test/material/app_bar/app_bar.0_test.dart
  examples/api/test/material/ink_well/ink_well.0_test.dart
  examples/api/test/material/banner/material_banner.1_test.dart
  examples/api/test/material/banner/material_banner.0_test.dart
  examples/api/test/material/checkbox/checkbox.1_test.dart
  examples/api/test/material/checkbox/checkbox.0_test.dart
  examples/api/test/material/navigation_rail/navigation_rail.extended_animation.0_test.dart
  examples/api/test/material/text_button/text_button.0_test.dart
  examples/api/test/rendering/growth_direction/growth_direction.0_test.dart
  examples/api/test/rendering/sliver_grid/sliver_grid_delegate_with_fixed_cross_axis_count.0_test.dart
  examples/api/test/rendering/sliver_grid/sliver_grid_delegate_with_fixed_cross_axis_count.1_test.dart
  examples/api/test/rendering/scroll_direction/scroll_direction.0_test.dart
  examples/api/test/painting/axis_direction/axis_direction.0_test.dart
  examples/api/test/painting/linear_border/linear_border.0_test.dart
  examples/api/test/painting/gradient/linear_gradient.0_test.dart
  examples/api/test/painting/star_border/star_border.0_test.dart
  examples/api/test/painting/borders/border_side.stroke_align.0_test.dart
  examples/api/test/widgets/autocomplete/raw_autocomplete.focus_node.0_test.dart
  examples/api/test/widgets/autocomplete/raw_autocomplete.2_test.dart
  examples/api/test/widgets/autocomplete/raw_autocomplete.1_test.dart
  examples/api/test/widgets/autocomplete/raw_autocomplete.0_test.dart
  examples/api/test/widgets/navigator/navigator.restorable_push_and_remove_until.0_test.dart
  examples/api/test/widgets/navigator/navigator.0_test.dart
  examples/api/test/widgets/navigator/navigator.restorable_push.0_test.dart
  examples/api/test/widgets/navigator/navigator_state.restorable_push_replacement.0_test.dart
  examples/api/test/widgets/navigator/navigator_state.restorable_push_and_remove_until.0_test.dart
  examples/api/test/widgets/navigator/navigator.restorable_push_replacement.0_test.dart
  examples/api/test/widgets/navigator/restorable_route_future.0_test.dart
  examples/api/test/widgets/navigator/navigator_state.restorable_push.0_test.dart
  examples/api/test/widgets/focus_manager/focus_node.unfocus.0_test.dart
  examples/api/test/widgets/focus_manager/focus_node.0_test.dart
  examples/api/test/widgets/framework/build_owner.0_test.dart
  examples/api/test/widgets/framework/error_widget.0_test.dart
  examples/api/test/widgets/inherited_theme/inherited_theme.0_test.dart
  examples/api/test/widgets/sliver/decorated_sliver.0_test.dart
  examples/api/test/widgets/autofill/autofill_group.0_test.dart
  examples/api/test/widgets/drag_target/draggable.0_test.dart
  examples/api/test/widgets/shared_app_data/shared_app_data.1_test.dart
  examples/api/test/widgets/shared_app_data/shared_app_data.0_test.dart
  examples/api/test/widgets/form/form.0_test.dart
  examples/api/test/widgets/nested_scroll_view/nested_scroll_view_state.0_test.dart
  examples/api/test/widgets/nested_scroll_view/nested_scroll_view.2_test.dart
  examples/api/test/widgets/nested_scroll_view/nested_scroll_view.1_test.dart
  examples/api/test/widgets/nested_scroll_view/nested_scroll_view.0_test.dart
  examples/api/test/widgets/page_view/page_view.0_test.dart
  examples/api/test/widgets/scroll_position/scroll_metrics_notification.0_test.dart
  examples/api/test/widgets/media_query/media_query_data.system_gesture_insets.0_test.dart
  examples/api/test/widgets/async/stream_builder.0_test.dart
  examples/api/test/widgets/async/future_builder.0_test.dart
  examples/api/test/widgets/restoration_properties/restorable_value.0_test.dart
  examples/api/test/widgets/animated_size/animated_size.0_test.dart
  examples/api/test/widgets/table/table.0_test.dart
  examples/api/test/widgets/animated_switcher/animated_switcher.0_test.dart
  examples/api/test/widgets/transitions/relative_positioned_transition.0_test.dart
  examples/api/test/widgets/transitions/positioned_transition.0_test.dart
  examples/api/test/widgets/transitions/listenable_builder.3_test.dart
  examples/api/test/widgets/transitions/sliver_fade_transition.0_test.dart
  examples/api/test/widgets/transitions/align_transition.0_test.dart
  examples/api/test/widgets/transitions/fade_transition.0_test.dart
  examples/api/test/widgets/transitions/animated_builder.0_test.dart
  examples/api/test/widgets/transitions/rotation_transition.0_test.dart
  examples/api/test/widgets/transitions/animated_widget.0_test.dart
  examples/api/test/widgets/transitions/slide_transition.0_test.dart
  examples/api/test/widgets/transitions/listenable_builder.2_test.dart
  examples/api/test/widgets/transitions/scale_transition.0_test.dart
  examples/api/test/widgets/transitions/default_text_style_transition.0_test.dart
  examples/api/test/widgets/transitions/decorated_box_transition.0_test.dart
  examples/api/test/widgets/transitions/size_transition.0_test.dart
  examples/api/test/widgets/animated_list/animated_list.0_test.dart
  examples/api/test/widgets/focus_traversal/focus_traversal_group.0_test.dart
  examples/api/test/widgets/focus_traversal/ordered_traversal_policy.0_test.dart
  examples/api/test/widgets/image/image.error_builder.0_test.dart
  examples/api/test/widgets/image/image.frame_builder.0_test.dart
  examples/api/test/widgets/image/image.loading_builder.0_test.dart
  examples/api/test/widgets/shortcuts/logical_key_set.0_test.dart
  examples/api/test/widgets/shortcuts/shortcuts.0_test.dart
  examples/api/test/widgets/shortcuts/single_activator.single_activator.0_test.dart
  examples/api/test/widgets/shortcuts/shortcuts.1_test.dart
  examples/api/test/widgets/shortcuts/character_activator.0_test.dart
  examples/api/test/widgets/shortcuts/callback_shortcuts.0_test.dart
  examples/api/test/widgets/page_storage/page_storage.0_test.dart
  examples/api/test/widgets/scrollbar/raw_scrollbar.1_test.dart
  examples/api/test/widgets/scrollbar/raw_scrollbar.2_test.dart
  examples/api/test/widgets/scrollbar/raw_scrollbar.desktop.0_test.dart
  examples/api/test/widgets/scrollbar/raw_scrollbar.shape.0_test.dart
  examples/api/test/widgets/scrollbar/raw_scrollbar.0_test.dart
  examples/api/test/widgets/sliver_fill/sliver_fill_remaining.2_test.dart
  examples/api/test/widgets/sliver_fill/sliver_fill_remaining.1_test.dart
  examples/api/test/widgets/sliver_fill/sliver_fill_remaining.3_test.dart
  examples/api/test/widgets/sliver_fill/sliver_fill_remaining.0_test.dart
  examples/api/test/widgets/interactive_viewer/interactive_viewer.constrained.0_test.dart
  examples/api/test/widgets/interactive_viewer/interactive_viewer.transformation_controller.0_test.dart
  examples/api/test/widgets/interactive_viewer/interactive_viewer.0_test.dart
  examples/api/test/widgets/notification_listener/notification.0_test.dart
  examples/api/test/widgets/gesture_detector/gesture_detector.1_test.dart
  examples/api/test/widgets/gesture_detector/gesture_detector.0_test.dart
  examples/api/test/widgets/editable_text/text_editing_controller.0_test.dart
  examples/api/test/widgets/editable_text/editable_text.on_changed.0_test.dart
  examples/api/test/widgets/undo_history/undo_history_controller.0_test.dart
  examples/api/test/widgets/overscroll_indicator/glowing_overscroll_indicator.1_test.dart
  examples/api/test/widgets/overscroll_indicator/glowing_overscroll_indicator.0_test.dart
  examples/api/test/widgets/tween_animation_builder/tween_animation_builder.0_test.dart
  examples/api/test/widgets/single_child_scroll_view/single_child_scroll_view.1_test.dart
  examples/api/test/widgets/single_child_scroll_view/single_child_scroll_view.0_test.dart
  examples/api/test/widgets/overflow_bar/overflow_bar.0_test.dart
  examples/api/test/widgets/restoration/restoration_mixin.0_test.dart
  examples/api/test/widgets/actions/actions.0_test.dart
  examples/api/test/widgets/actions/action_listener.0_test.dart
  examples/api/test/widgets/actions/focusable_action_detector.0_test.dart
  examples/api/test/widgets/color_filter/color_filtered.0_test.dart
  examples/api/test/widgets/focus_scope/focus.2_test.dart
  examples/api/test/widgets/focus_scope/focus.0_test.dart
  examples/api/test/widgets/focus_scope/focus.1_test.dart
  examples/api/test/widgets/focus_scope/focus_scope.0_test.dart
  examples/api/test/widgets/implicit_animations/animated_fractionally_sized_box.0_test.dart
  examples/api/test/widgets/implicit_animations/animated_align.0_test.dart
  examples/api/test/widgets/implicit_animations/animated_positioned.0_test.dart
  examples/api/test/widgets/implicit_animations/animated_padding.0_test.dart
  examples/api/test/widgets/implicit_animations/sliver_animated_opacity.0_test.dart
  examples/api/test/widgets/implicit_animations/animated_container.0_test.dart
  examples/api/test/widgets/dismissible/dismissible.0_test.dart
  examples/api/test/widgets/scroll_view/custom_scroll_view.1_test.dart
  examples/api/test/widgets/preferred_size/preferred_size.0_test.dart
  examples/api/test/widgets/inherited_notifier/inherited_notifier.0_test.dart
  examples/api/test/animation/curves/curve2_d.0_test.dart
  examples/api/test/gestures/pointer_signal_resolver/pointer_signal_resolver.0_test.dart

These should eventually all be written.

The dev/bots/check_code_samples.dart file has this list of missing tests in it in order to allow it to exempt them until such a time as they are implemented, while still preventing new examples from being added without tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: tests"flutter test", flutter_test, or one of our testsc: tech-debtTechnical debt, code quality, testing, etc.d: examplesSample code and demosf: cupertinoflutter/packages/flutter/cupertino repositoryf: material designflutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.r: fixedIssue is closed as already fixed in a newer versionteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions