Skip to content

[pigeon] Use hasLength and isEmpty in tests for better failure messages - #11205

Merged
auto-submit[bot] merged 1 commit into
flutter:mainfrom
srawlins:hasLength
Mar 11, 2026
Merged

[pigeon] Use hasLength and isEmpty in tests for better failure messages#11205
auto-submit[bot] merged 1 commit into
flutter:mainfrom
srawlins:hasLength

Conversation

@srawlins

Copy link
Copy Markdown
Contributor

When an expectation like expect(foo.length, equals(0)) fails, you just see a message like "7 is not 0." Changing these tests to use isEmpty and hasLength, like expect(foo, isEmpty), you'll instead see a much more useful message like "expected this thing to have 0 elements, but instead it was [a, b, c]."

Pre-Review Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran [the auto-formatter].
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I [linked to at least one issue that this PR fixes] in the description above.
  • I followed [the version and CHANGELOG instructions], using [semantic versioning] and the [repository CHANGELOG style], or I have commented below to indicate which documented exception this PR falls under[^1].
  • I updated/added any relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or I have commented below to indicate which [test exemption] this PR falls under[^1].
  • All existing and new tests are passing.

@gemini-code-assistgemini-code-assistBot 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 updates tests in packages/pigeon/test/pigeon_lib_test.dart to use dedicated collection matchers like isEmpty, hasLength, and containsAll. These changes improve the readability and failure output of the tests.

@srawlins

Copy link
Copy Markdown
ContributorAuthor

This is test-excempt as it only affects tests, and I believe it is also version-bump-exempt for the same reason.

@tarrinnealtarrinneal 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.

good change, @stuartmorgan-g for exemptions

@stuartmorgan-g

Copy link
Copy Markdown
Collaborator

Exemptions are only needed when bots are angry; both the test nag bot and the version/changelog CI check know these are exempt test files.

@stuartmorgan-gstuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 11, 2026
@auto-submit
auto-submitBot merged commit 1ea3725 into flutter:mainMar 11, 2026
81 checks passed
@srawlins
srawlins deleted the hasLength branch March 11, 2026 14:57
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 11, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 11, 2026
github-merge-queueBot pushed a commit to flutter/flutter that referenced this pull request Mar 11, 2026
flutter/packages@ee460d6...ecace66
2026-03-11 srawlins@google.com [pigeon] Produce a helpful error for bad
method return type (flutter/packages#11204)
2026-03-11 srawlins@google.com [pigeon] Use hasLength and isEmpty in
tests for better failure messages (flutter/packages#11205)
2026-03-11 dacoharkes@google.com [rfw] Opt out of icon tree shaking
(flutter/packages#11216)
2026-03-11 srawlins@google.com [pigeon] Tidy imports and "ignore"
comments (flutter/packages#11149)
2026-03-11 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.jetbrains.kotlin:kotlin-bom from 2.2.21 to 2.3.10
in /packages/pigeon/platform_tests/test_plugin/android
(flutter/packages#10984)
2026-03-11 srawlins@google.com [pigeon] Improve casting and
nullability-handling in generated code (flutter/packages#11163)
2026-03-10 engine-flutter-autoroll@skia.org Roll Flutter from
2ec61af to 195ae7b (36 revisions) (flutter/packages#11222)
2026-03-10 git@reb0.org [vector_graphics] Respect BoxFit parameter with
viewbox (flutter/packages#11012)
2026-03-10 stuartmorgan@google.com Add AI contribution guidelines to PR
checklist (flutter/packages#11195)
2026-03-10 zezohassam@gmail.com [video_player] Optimize caption
retrieval with binary search in VideoPlayerController
(flutter/packages#8347)
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
okorohelijah pushed a commit to okorohelijah/packages that referenced this pull request Mar 26, 2026
…es (flutter#11205)
When an expectation like `expect(foo.length, equals(0))` fails, you just see a message like "7 is not 0." Changing these tests to use `isEmpty` and `hasLength`, like `expect(foo, isEmpty)`, you'll instead see a much more useful message like "expected this thing to have 0 elements, but instead it was [a, b, c]."
## Pre-Review Checklist
mboetger pushed a commit to mboetger/flutter that referenced this pull request Mar 26, 2026
…er#183517)
flutter/packages@ee460d6...ecace66
2026-03-11 srawlins@google.com [pigeon] Produce a helpful error for bad
method return type (flutter/packages#11204)
2026-03-11 srawlins@google.com [pigeon] Use hasLength and isEmpty in
tests for better failure messages (flutter/packages#11205)
2026-03-11 dacoharkes@google.com [rfw] Opt out of icon tree shaking
(flutter/packages#11216)
2026-03-11 srawlins@google.com [pigeon] Tidy imports and "ignore"
comments (flutter/packages#11149)
2026-03-11 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.jetbrains.kotlin:kotlin-bom from 2.2.21 to 2.3.10
in /packages/pigeon/platform_tests/test_plugin/android
(flutter/packages#10984)
2026-03-11 srawlins@google.com [pigeon] Improve casting and
nullability-handling in generated code (flutter/packages#11163)
2026-03-10 engine-flutter-autoroll@skia.org Roll Flutter from
2ec61af to 195ae7b (36 revisions) (flutter/packages#11222)
2026-03-10 git@reb0.org [vector_graphics] Respect BoxFit parameter with
viewbox (flutter/packages#11012)
2026-03-10 stuartmorgan@google.com Add AI contribution guidelines to PR
checklist (flutter/packages#11195)
2026-03-10 zezohassam@gmail.com [video_player] Optimize caption
retrieval with binary search in VideoPlayerController
(flutter/packages#8347)
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
ahmedsameha1 pushed a commit to ahmedsameha1/flutter that referenced this pull request Apr 14, 2026
…er#183517)
flutter/packages@ee460d6...ecace66
2026-03-11 srawlins@google.com [pigeon] Produce a helpful error for bad
method return type (flutter/packages#11204)
2026-03-11 srawlins@google.com [pigeon] Use hasLength and isEmpty in
tests for better failure messages (flutter/packages#11205)
2026-03-11 dacoharkes@google.com [rfw] Opt out of icon tree shaking
(flutter/packages#11216)
2026-03-11 srawlins@google.com [pigeon] Tidy imports and "ignore"
comments (flutter/packages#11149)
2026-03-11 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.jetbrains.kotlin:kotlin-bom from 2.2.21 to 2.3.10
in /packages/pigeon/platform_tests/test_plugin/android
(flutter/packages#10984)
2026-03-11 srawlins@google.com [pigeon] Improve casting and
nullability-handling in generated code (flutter/packages#11163)
2026-03-10 engine-flutter-autoroll@skia.org Roll Flutter from
2ec61af to 195ae7b (36 revisions) (flutter/packages#11222)
2026-03-10 git@reb0.org [vector_graphics] Respect BoxFit parameter with
viewbox (flutter/packages#11012)
2026-03-10 stuartmorgan@google.com Add AI contribution guidelines to PR
checklist (flutter/packages#11195)
2026-03-10 zezohassam@gmail.com [video_player] Optimize caption
retrieval with binary search in VideoPlayerController
(flutter/packages#8347)
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
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…es (flutter#11205)
When an expectation like `expect(foo.length, equals(0))` fails, you just see a message like "7 is not 0." Changing these tests to use `isEmpty` and `hasLength`, like `expect(foo, isEmpty)`, you'll instead see a much more useful message like "expected this thing to have 0 elements, but instead it was [a, b, c]."
## Pre-Review Checklist
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmitMerge PR when tree becomes green via auto submit Appp: pigeon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@srawlins@stuartmorgan-g@tarrinneal