Skip to content

Migration: Remove material.dart dependency from framework_test.dart (Issue #177414)#181620

Closed
rickhohler wants to merge 341 commits into
flutter:masterfrom
rickhohler:cleanup-framework-test
Closed

Migration: Remove material.dart dependency from framework_test.dart (Issue #177414)#181620
rickhohler wants to merge 341 commits into
flutter:masterfrom
rickhohler:cleanup-framework-test

Conversation

@rickhohler

@rickhohler rickhohler commented Jan 28, 2026

Copy link
Copy Markdown

Part of #177414.

Removes import 'package:flutter/material.dart'; from framework_test.dart.

Changes include:

  • Removing the material.dart import.
  • Replacing Colors.green with Color(0xFF00FF00).
  • Replacing TabBarView and TabController with PageView and PageController in generic disposition tests.
  • Replacing NavigationBarTheme usage in debugFillProperties test with a local TestInheritedWidget.
  • Corrected import order and fixed cross-import validation in dev/bots/check_tests_cross_imports.dart.

Verified that all tests in framework_test.dart pass.

Pre-launch Checklist

@github-actions github-actions Bot added the framework flutter/packages/flutter repository. See also f: labels. label Jan 28, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully migrates framework_test.dart to remove its dependency on material.dart, which is a good step towards better modularity. The changes are logical, replacing Material-specific widgets like TabBarView and NavigationBarTheme with framework-level equivalents or local test widgets. I have a couple of minor suggestions to improve code style and readability.

Comment thread packages/flutter/test/widgets/framework_test.dart Outdated
Comment thread packages/flutter/test/widgets/framework_test.dart Outdated
@rickhohler rickhohler force-pushed the cleanup-framework-test branch from 344b3fc to 0fd2c74 Compare January 28, 2026 19:53
@rickhohler

Copy link
Copy Markdown
Author

Thanks for the review! I've updated the code to use a _kTestColor constant and fixed the trailing whitespace.

@justinmc justinmc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Just a few simple suggestions.

Comment thread dev/bots/check_tests_cross_imports.dart Outdated
'packages/flutter/test/widgets/editable_text_scribble_test.dart',
'packages/flutter/test/widgets/draggable_scrollable_sheet_test.dart',
'packages/flutter/test/widgets/autofill_group_test.dart',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the whitespace?

Comment thread dev/bots/check_tests_cross_imports.dart Outdated
'packages/flutter/test/widgets/container_test.dart',
'packages/flutter/test/widgets/drawer_test.dart',
'packages/flutter/test/widgets/framework_test.dart',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can probably also remove this whitespace

);
}

class TestInheritedWidget extends InheritedWidget {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you prefix this with _ so that it's clear it's private to this file?

@justinmc justinmc requested a review from victorsanni February 13, 2026 22:04
victorsanni
victorsanni previously approved these changes Feb 13, 2026
@victorsanni

Copy link
Copy Markdown
Contributor

LGTM pending Justin's comments.

@justinmc justinmc moved this from Todo to In Progress in Test cross-imports Review Queue Feb 19, 2026
navaronbracke and others added 18 commits February 19, 2026 14:56
This PR removes Material from basic_test.dart

I also had to fix some missing semantics for the test button.

Part of flutter#177415

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
…er#181857)

flutter/packages@837dbbd...5b1bea8

2026-02-03 30872003+misos1@users.noreply.github.com
[camera_avfoundation] handle interruptions and use single offset
(flutter/packages#8982)
2026-02-03 32538273+ValentinVignal@users.noreply.github.com [go_router]
Add `TypedQueryParameter` annotation (flutter/packages#10792)
2026-02-02 okorohelijah@google.com [local_auth_darwin][UIScene] Add
UIScene lifecycle support (flutter/packages#10836)
2026-02-02 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump camerax_version from 1.5.2 to 1.5.3 in
/packages/camera/camera_android_camerax/android (flutter/packages#10946)
2026-02-02 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.1 in
/packages/video_player/video_player/example/android/app
(flutter/packages#10945)
2026-02-02 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump gradle-wrapper from 8.13 to 9.3.1 in
/packages/local_auth/local_auth_android/example/android/app
(flutter/packages#10941)
2026-02-02 engine-flutter-autoroll@skia.org Roll Flutter from
9eafba4 to c305f1f (12 revisions) (flutter/packages#10956)
2026-02-02 engine-flutter-autoroll@skia.org Roll Flutter from
1d9d6a9 to 9eafba4 (27 revisions) (flutter/packages#10938)
2026-02-02 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.json:json from 20250517 to 20251224 in
/packages/in_app_purchase/in_app_purchase_android/android
(flutter/packages#10949)
2026-02-02 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump the test-dependencies group across 2 directories with
1 update (flutter/packages#10944)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…181859)

This can cause a confusing error message when tests are run with `dart
test`, which results in `platform.script` returning a dill file. In
particular, tests run using `testWithoutContext` or without a `Platform`
override that invoke `getFlutterRoot()` will encounter an error about
`context.get<Platform>` not being supported.

Fixes flutter#181856
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

fixes flutter#176662

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Congrats! We have onboarded Flutter to LFX Insights, the Linux
Foundation's platform for monitoring the world's most critical
open-source projects.

https://insights.linuxfoundation.org/project/flutter

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
We need to do a hard breaking change in Flutter that affects
`package:super_editor`: flutter#180436

To workaround the hard breaking change, we will:

1. Temporarily remove super_editor from Flutter's customer tests:
flutter/tests#480
2. Roll customer tests to the flutter/flutter repo (this PR)
3. Land the breaking change in Flutter + add a breaking migration guide
to the Flutter website
4. Update super_editor's
[main](https://github.com/superlistapp/super_editor/commits/main) branch
to handle Flutter's breaking change.
5. Re-add super_editor to customer tests, using the latest commit from
super_editor's main branch.

<details><summary>Why this is necessary...</summary>

To fix flutter#161592, we need to pass
additional styling information to the web engine.

Historically, we plumb text styling information through
[TextInputConnection.setStyle(...)](https://api.flutter.dev/flutter/services/TextInputConnection/setStyle.html).
However, every time we add a parameter here, it creates a breaking
change for super_editor's
[TextInputConnectionDecorator](https://github.com/Flutter-Bounty-Hunters/super_editor/blob/068a20d3151dc4e46068b5cb54a38b0e93f7ef03/super_editor/lib/src/default_editor/document_ime/ime_decoration.dart#L8)
as it implements `TextInputConnection`.

To stop this cycle, we will do a one-time breaking change to move to a
more extensible pattern:

1. Add new
[TextInputStyle](https://github.com/flutter/flutter/pull/180436/files#diff-701a97b414026a5c87a06b546bb38ca70be2aa0ce44cbf170f4b43e8defcc91aR1530)
class. This will wrap all text input styling properties.
2. Add new [TextInputConnection.updateStyle(TextInputStyle
style)](https://github.com/flutter/flutter/pull/180436/files#diff-701a97b414026a5c87a06b546bb38ca70be2aa0ce44cbf170f4b43e8defcc91aR1793)
method.
3. Deprecate `TextInputConnection.setStyle(...)`.

This pattern lets us add more text input styling properties without
breaking super_editor again.

To handle this breaking change, the following code will need to be added
to super_editor's [
TextInputConnectionDecorator](https://github.com/Flutter-Bounty-Hunters/super_editor/blob/068a20d3151dc4e46068b5cb54a38b0e93f7ef03/super_editor/lib/src/default_editor/document_ime/ime_decoration.dart#L8):

```dart
  @OverRide
  void updateStyle(TextInputStyle style) => client?.updateStyle(style);
```

</details>

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
…#181677)

For what the test tests, we only need to build one mode. `flutter build
aar` defaults to building all 3.

Co-authored-by: Gray Mackall <mackall@google.com>
This PR removes Material imports from sliver_tre_test.dart and replaces
some colors in the test with their const counterparts, for the golden
tests in the file.

Part of flutter#177415

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

Co-authored-by: Mohellebi Abdessalem <116356835+AbdeMohlbi@users.noreply.github.com>
…tter#179120)

<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_pixel_7pro android_verified_input_test"
}
-->
The test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_pixel_7pro%20android_verified_input_test%22).
This test can be marked as unflaky.
…minor bugfixes to the multiple windows example app (flutter#181510)

## What's new?
- Implemented `_TestTooltipWindowController` in the `TestWindowingOwner`
- Fixed how child windows of the main window are rendered in the
application
- Introduced `WindowManager.getChildrenOf` to simplify filtering and
rendering of the children of a parent window
- Added a test for the tooltip window
- Added a test for modal dialogs of the main window

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.
This PR keeps the FlutterFramework swift package introduced in
flutter#178931, but removes the
Flutter.xcframework as a dependency, essentially making it empty. As
such, it also restores the build scripts to copy and codesign the
framework instead of letting Xcode do it. This is a temporary solution
while we decide a long-term strategy:
[go/flutter-ios-privacy-impacting-sdks-codesign-requirement](http://goto.google.com/flutter-ios-privacy-impacting-sdks-codesign-requirement)

Fixes flutter#181630.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
…lutter#180957)

## Description

Remove unnecessary Material import and Material widget wrappers from
`cupertino/slider_test.dart`.

The CupertinoSlider tests were using `Material` widget wrappers
unnecessarily. CupertinoSlider is a Cupertino widget that doesn't
require Material ancestors.

## Related Issue

Contributes to flutter#177412

## Tests

All 21 tests in `slider_test.dart` pass after this change.
…utter#181742)

In CanvasKit, `MakeMatrixTransform` returns null if the matrix is
non-invertible (e.g., all zeros or zero scale). Previously, the web
engine assumed this would always return a valid object, leading to a
crash when calling methods like `delete()` or `getOutputBounds()` on the
null result.

This change:
- Updates `MakeMatrixTransform` signature to allow returning null.
- Gracefully handles null filters in `CkMatrixImageFilter` by skipping
the borrow callback.
- Defaults `filterBounds` to `ui.Rect.zero` when the filter is null,
indicating that no content is rendered.
- Adds a comprehensive test suite to ensure non-invertible matrices do
not cause crashes during scene building or painting.

Fixes flutter#181411

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Adds more comprehensive testing for setFloat and getUniform* on fragment
shaders.

Deletes redundant tests.

Fixes getUniformVecX indexing errors.
…#181657)

This PR removes the unnecessary dependency on the Material library from
expansible_test.dart by replacing `MaterialApp` with `WidgetsApp`.

Part of flutter#177415

### Changes

1. **Import change**: Replaced `package:flutter/material.dart` with
`package:flutter/widgets.dart`

2. **Widget setup**: Changed from `MaterialApp(home: ...)` to
`TestWidgetsApp(home: ...)`
- `WidgetsApp` requires either `builder`, `onGenerateRoute`, or
`pageRouteBuilder` to be provided
If neither builder nor onGenerateRoute are provided, the
pageRouteBuilder must be specified so that the default handler will know
what kind of PageRoute transition to build.

3. **Updated position assertions**: Since `WidgetsApp` with `builder`
doesn't include the default scaffold/status bar padding that
`MaterialApp` with `home` provides, the expected y-coordinate values
were adjusted by -34 pixels:
   - `90.08984375` → `56.08984375`
   - `98.0` → `64.0`
   - `80.91015625` → `46.91015625`
   - `48.0` → `14.0`

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
@github-actions github-actions Bot added platform-fuchsia Fuchsia code specifically f: scrolling Viewports, list views, slivers, etc. f: cupertino flutter/packages/flutter/cupertino repository d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos f: routes Navigator, Router, and related APIs. platform-web Web applications specifically platform-linux Building on or for Linux specifically package flutter/packages repository. See also p: labels. a: desktop Running on desktop f: focus Focus traversal, gaining or losing focus f: integration_test The flutter/packages/integration_test plugin team-ecosystem Owned by Ecosystem team c: tech-debt Technical debt, code quality, testing, etc. e: impeller Impeller rendering backend issues and features requests team-android Owned by Android platform team team-engine Owned by Engine team team-ios Owned by iOS platform team d: docs/ flutter/flutter/docs, for contributors platform-macos labels Feb 19, 2026
@jtmcdole

Copy link
Copy Markdown
Member

I think there might be a bad merge here... 340 unverified commits ended up being added.

@jtmcdole jtmcdole requested a review from victorsanni February 19, 2026 22:24
@victorsanni

Copy link
Copy Markdown
Contributor

Hi @rickhohler, this PR has been polluted with unrelated changes. Can you open a new PR with the desired changes and tag the relevant reviewers? I will go ahead and close this one to get it off our review queue. Thank you!

@victorsanni victorsanni closed this Apr 4, 2026
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Test cross-imports Review Queue Apr 4, 2026
@stuartmorgan-g stuartmorgan-g added platform-macos Building on or for macOS specifically and removed platform-macos labels Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: animation Animation APIs a: desktop Running on desktop a: internationalization Supporting other languages or locales. (aka i18n) a: tests "flutter test", flutter_test, or one of our tests a: text input Entering text in a text field or keyboard related problems c: contributor-productivity Team-specific productivity, code health, technical debt. c: tech-debt Technical debt, code quality, testing, etc. d: api docs Issues with https://api.flutter.dev/ d: docs/ flutter/flutter/docs, for contributors d: examples Sample code and demos e: impeller Impeller rendering backend issues and features requests engine flutter/engine related. See also e: labels. f: cupertino flutter/packages/flutter/cupertino repository f: focus Focus traversal, gaining or losing focus f: integration_test The flutter/packages/integration_test plugin f: material design flutter/packages/flutter/material repository. f: routes Navigator, Router, and related APIs. f: scrolling Viewports, list views, slivers, etc. framework flutter/packages/flutter repository. See also f: labels. package flutter/packages repository. See also p: labels. platform-android Android applications specifically platform-fuchsia Fuchsia code specifically platform-ios iOS applications specifically platform-linux Building on or for Linux specifically platform-macos Building on or for macOS specifically platform-web Web applications specifically team-android Owned by Android platform team team-ecosystem Owned by Ecosystem team team-engine Owned by Engine team team-ios Owned by iOS platform team tool Affects the "flutter" command-line tool. See also t: labels.

Projects

Development

Successfully merging this pull request may close these issues.