L10n #4413
L10n #4413
1215 passed, 15 failed and 0 skipped
| Report | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| test-report-default.json | 1215✅ | 15❌ | 250s |
Annotations
Check failure on line 529 in test/features/composer/presentation/composer_controller_test.dart
github-actions / Flutter Tests - default
test/features/composer/presentation/composer_controller_test.dart ► ComposerController test: hash draft email test: email action type is EmailActionType.compose: ► Should update _savedEmailDraftHash When user click save draft button And SaveEmailAsDraf...
Failed test found in:
test-report-default.json
Error:
Test failed. See exception logs above.
The test description was: Should update _savedEmailDraftHash
When user click save draft button
And SaveEmailAsDraftsSuccess is returned
Raw output
[TwakeMail] [33mComposerController::injectAutoCompleteBindings(): exception: SessionMissingCapability: Missing capabilities {CapabilityIdentifier(com:linagora:params:jmap:contact:autocomplete)}[0m
[TwakeMail] [32mMailAddress::validate: Address = to@linagora.com[0m
[TwakeMail] [32mMailAddress::validate: Address = to@linagora.com[0m
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building
TMailButtonWidget-[<'prefix_to_recipient_reply_to_button'>](dirty):
Null check operator used on a null value
The relevant error-causing widget was:
TMailButtonWidget-[<'prefix_to_recipient_reply_to_button'>]
TMailButtonWidget:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/composer/presentation/widgets/recipient_composer_widget.dart:390:27
When the exception was thrown, this was the stack:
#0 TMailButtonWidget.build (package:core/presentation/views/button/tmail_button_widget.dart:301:31)
#1 StatelessElement.build (package:flutter/src/widgets/framework.dart:5781:49)
#2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5715:15)
#3 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5697:5)
#5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5691:5)
#6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#7 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#8 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (32 frames)
#40 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#41 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#42 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (95 frames)
#137 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#138 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#139 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (66 frames)
#205 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#206 Element.updateChild (package:flutter/src/widgets/framework.dart:4004:18)
#207 _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback (package:flutter/src/widgets/layout_builder.dart:249:18)
#208 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3046:19)
#209 _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:272:12)
#210 RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:335:38)
#211 RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4160:33)
#212 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2885:17)
#213 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1209:15)
#214 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2884:14)
#215 RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4160:5)
#216 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:449:5)
#217 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#218 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#219 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#220 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
#221 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#222 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#223 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#224 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#225 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#226 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#227 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
#228 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#229 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#230 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#231 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#232 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
#233 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#234 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#235 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#236 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:465:14)
#237 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#238 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
#239 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118:7)
#240 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
#241 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:14)
#242 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#243 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#244 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#245 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#246 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#247 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#248 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#249 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#250 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
#251 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:646:43)
#252 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:673:12)
#253 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#254 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
#255 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118:7)
#256 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
#257 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:14)
#258 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#259 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#260 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#261 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#262 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#263 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#264 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#265 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#266 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#267 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#268 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#269 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#270 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#271 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#272 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#273 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#274 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#275 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#276 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#277 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#278 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#279 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#280 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#281 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#282 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#283 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3857:13)
#284 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#285 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#286 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#287 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1085:13)
#288 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1431:9)
#289 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#290 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#291 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#292 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#293 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#294 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#295 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#296 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#297 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
#298 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#299 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#300 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#301 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#302 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2614:7)
#303 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1160:18)
#304 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1173:15)
#305 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1517:27)
#306 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#307 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1438:15)
#308 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1351:9)
#309 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1340:9)
#312 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#313 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#314 WidgetTester.pump.<anonymous closure> (package:flutter_test/src/widget_tester.dart:653:53)
#317 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#318 WidgetTester.pump (package:flutter_test/src/widget_tester.dart:653:27)
#319 main.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/composer/presentation/composer_controller_test.dart:529:26)
<asynchronous suspension>
<asynchronous suspension>
#321 main.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/composer/presentation/composer_controller_test.dart:480:11)
<asynchronous suspension>
#322 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#323 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 6 frames from dart:async and package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during layout:
A RenderFlex overflowed by 99525 pixels on the right.
The relevant error-causing widget was:
Row
Row:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/composer/presentation/widgets/recipient_composer_widget.dart:179:14
The overflowing RenderFlex has an orientation of Axis.horizontal.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be
seen. If the content is legitimately bigger than the available space, consider clipping it with a
ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
like a ListView.
The specific RenderFlex in question is: RenderFlex#64c6c relayoutBoundary=up34 OVERFLOWING:
needs compositing
creator: Row ← Padding ← DecoratedBox ← Padding ← Container ← RecipientComposerWidget ← Obx ← Column
← Obx ← _SingleChildViewport ← IgnorePointer-[GlobalKey#d7881] ← Semantics ← ⋯
parentData: offset=Offset(0.0, 0.0) (can use size)
constraints: BoxConstraints(0.0<=w<=704.0, 0.0<=h<=Infinity)
size: Size(704.0, 100000.0)
direction: horizontal
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: start
textDirection: ltr
verticalDirection: down
spacing: 0.0
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
════════════════════════════════════════════════════════════════════════════════════════════════════
[TwakeMail] [32mComposerController::_hashDraftEmail:draftAsString = {"content":"some email content","subject":"some email subject","toRecipients":[{"name":"to","email":"to@linagora.com"}],"ccRecipients":[{"name":"cc","email":"cc@linagora.com"}],"bccRecipients":[{"name":"bcc","email":"bcc@linagora.com"}],"replyToRecipients":[{"name":"replyTo","email":"replyTo@linagora.com"}],"attachments":[{}],"identity":{"id":"alice"},"hasReadReceipt":false,"isMarkAsImportant":false} | draftAsHasCode = 724220083[0m
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following message was thrown:
Multiple exceptions (2) were detected during the running of the current test, and at least one was
unexpected.
════════════════════════════════════════════════════════════════════════════════════════════════════
Check failure on line 609 in test/features/composer/presentation/composer_controller_test.dart
github-actions / Flutter Tests - default
test/features/composer/presentation/composer_controller_test.dart ► ComposerController test: hash draft email test: email action type is EmailActionType.compose: ► Should update _savedEmailDraftHash When user click save draft button And UpdateEmailDraf...
Failed test found in:
test-report-default.json
Error:
Test failed. See exception logs above.
The test description was: Should update _savedEmailDraftHash
When user click save draft button
And UpdateEmailDraftsSuccess is returned
Raw output
[TwakeMail] [33mComposerController::injectAutoCompleteBindings(): exception: SessionMissingCapability: Missing capabilities {CapabilityIdentifier(com:linagora:params:jmap:contact:autocomplete)}[0m
[TwakeMail] [32mMailAddress::validate: Address = to@linagora.com[0m
[TwakeMail] [32mMailAddress::validate: Address = to@linagora.com[0m
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building
TMailButtonWidget-[<'prefix_to_recipient_reply_to_button'>](dirty):
Null check operator used on a null value
The relevant error-causing widget was:
TMailButtonWidget-[<'prefix_to_recipient_reply_to_button'>]
TMailButtonWidget:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/composer/presentation/widgets/recipient_composer_widget.dart:390:27
When the exception was thrown, this was the stack:
#0 TMailButtonWidget.build (package:core/presentation/views/button/tmail_button_widget.dart:301:31)
#1 StatelessElement.build (package:flutter/src/widgets/framework.dart:5781:49)
#2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5715:15)
#3 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5697:5)
#5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5691:5)
#6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#7 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#8 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (32 frames)
#40 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#41 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#42 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (95 frames)
#137 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#138 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#139 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (66 frames)
#205 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#206 Element.updateChild (package:flutter/src/widgets/framework.dart:4004:18)
#207 _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback (package:flutter/src/widgets/layout_builder.dart:249:18)
#208 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3046:19)
#209 _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:272:12)
#210 RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:335:38)
#211 RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4160:33)
#212 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2885:17)
#213 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1209:15)
#214 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2884:14)
#215 RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4160:5)
#216 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:449:5)
#217 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#218 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#219 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#220 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
#221 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#222 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#223 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#224 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#225 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#226 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#227 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
#228 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#229 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#230 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#231 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#232 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
#233 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#234 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#235 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#236 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:465:14)
#237 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#238 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
#239 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118:7)
#240 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
#241 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:14)
#242 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#243 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#244 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#245 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#246 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#247 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#248 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#249 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#250 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
#251 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:646:43)
#252 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:673:12)
#253 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#254 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
#255 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118:7)
#256 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
#257 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:14)
#258 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#259 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#260 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#261 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#262 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483:11)
#263 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#264 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#265 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#266 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#267 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#268 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#269 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#270 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#271 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#272 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#273 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#274 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#275 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#276 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#277 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#278 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#279 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#280 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#281 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#282 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#283 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3857:13)
#284 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#285 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#286 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#287 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1085:13)
#288 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1431:9)
#289 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#290 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#291 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#292 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#293 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#294 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#295 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#296 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#297 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
#298 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#299 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#300 RenderObject.layout (package:flutter/src/rendering/object.dart:2766:7)
#301 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
#302 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2614:7)
#303 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1160:18)
#304 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1173:15)
#305 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1517:27)
#306 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#307 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1438:15)
#308 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1351:9)
#309 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1340:9)
#312 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#313 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#314 WidgetTester.pump.<anonymous closure> (package:flutter_test/src/widget_tester.dart:653:53)
#317 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#318 WidgetTester.pump (package:flutter_test/src/widget_tester.dart:653:27)
#319 main.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/composer/presentation/composer_controller_test.dart:609:26)
<asynchronous suspension>
<asynchronous suspension>
#321 main.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/composer/presentation/composer_controller_test.dart:560:11)
<asynchronous suspension>
#322 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#323 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 6 frames from dart:async and package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during layout:
A RenderFlex overflowed by 99525 pixels on the right.
The relevant error-causing widget was:
Row
Row:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/composer/presentation/widgets/recipient_composer_widget.dart:179:14
The overflowing RenderFlex has an orientation of Axis.horizontal.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be
seen. If the content is legitimately bigger than the available space, consider clipping it with a
ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
like a ListView.
The specific RenderFlex in question is: RenderFlex#ff6dc relayoutBoundary=up34 OVERFLOWING:
needs compositing
creator: Row ← Padding ← DecoratedBox ← Padding ← Container ← RecipientComposerWidget ← Obx ← Column
← Obx ← _SingleChildViewport ← IgnorePointer-[GlobalKey#425e3] ← Semantics ← ⋯
parentData: offset=Offset(0.0, 0.0) (can use size)
constraints: BoxConstraints(0.0<=w<=704.0, 0.0<=h<=Infinity)
size: Size(704.0, 100000.0)
direction: horizontal
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: start
textDirection: ltr
verticalDirection: down
spacing: 0.0
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
════════════════════════════════════════════════════════════════════════════════════════════════════
[TwakeMail] [32mComposerController::_hashDraftEmail:draftAsString = {"content":"some email content","subject":"some email subject","toRecipients":[{"name":"to","email":"to@linagora.com"}],"ccRecipients":[{"name":"cc","email":"cc@linagora.com"}],"bccRecipients":[{"name":"bcc","email":"bcc@linagora.com"}],"replyToRecipients":[{"name":"replyTo","email":"replyTo@linagora.com"}],"attachments":[{}],"identity":{"id":"alice"},"hasReadReceipt":false,"isMarkAsImportant":false} | draftAsHasCode = 724220083[0m
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following message was thrown:
Multiple exceptions (2) were detected during the running of the current test, and at least one was
unexpected.
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/email/presentation/information_sender_and_receiver_builder_widget_test.dart ► InformationSenderAndReceiverBuilder::widgetTest SMimeSignatureStatusIcon::test ► should be displayed and have good message when sMimeStatus is `SMimeSignatureS...
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: 'The authenticity of this message had been verified with SMime signature.'
Actual: ''
Which: is different. Both strings start the same, but the actual value is missing the following
trailing characters: The authen ...
Raw output
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: 'The authenticity of this message had been verified with SMime signature.'
Actual: ''
Which: is different. Both strings start the same, but the actual value is missing the following
trailing characters: The authen ...
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/information_sender_and_receiver_builder_widget_test.dart:92:9)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/information_sender_and_receiver_builder_widget_test.dart line 92
The test description was:
should be displayed and have good message
when sMimeStatus is `SMimeSignatureStatus.goodSignature`
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/email/presentation/information_sender_and_receiver_builder_widget_test.dart ► InformationSenderAndReceiverBuilder::widgetTest SMimeSignatureStatusIcon::test ► should be displayed and have bad message when sMimeStatus is `SMimeSignatureSt...
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: 'This message failed SMime signature verification.'
Actual: ''
Which: is different. Both strings start the same, but the actual value is missing the following
trailing characters: This messa ...
Raw output
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: 'This message failed SMime signature verification.'
Actual: ''
Which: is different. Both strings start the same, but the actual value is missing the following
trailing characters: This messa ...
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/information_sender_and_receiver_builder_widget_test.dart:127:9)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/information_sender_and_receiver_builder_widget_test.dart line 127
The test description was:
should be displayed and have bad message
when sMimeStatus is `SMimeSignatureStatus.badSignature`
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart ► CalendarEventInformationWidget:: ► Should show warning message when user is not in the participants and is not the organizer
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: exactly one matching candidate
Actual: _TextWidgetFinder:<Found 5 widgets with text "": [
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 1.0000, blue:
1.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, textAlign: center,
dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 40.0, weight: 700, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text(null,
╞═╦══ textSpan ═══
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 500
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 700
║ ""
║ TextSpan:
║ ""
, dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 0.7569, blue:
0.0275, colorSpace: ColorSpace.sRGB), family: Inter, size: 16.0, weight: 500, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
]>
Which: is too many
Raw output
[TwakeMail] ℹ️ INFO: _EventAttendeeDetailWidgetState::initState:attendees: 1 | _isShowAllAttendee: true
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building TMailButtonWidget(dirty):
Null check operator used on a null value
The relevant error-causing widget was:
TMailButtonWidget
TMailButtonWidget:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/email/presentation/widgets/calendar_event/calendar_event_action_button_widget.dart:42:20
When the exception was thrown, this was the stack:
#0 TMailButtonWidget.build (package:core/presentation/views/button/tmail_button_widget.dart:301:31)
#1 StatelessElement.build (package:flutter/src/widgets/framework.dart:5781:49)
#2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5715:15)
#3 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5697:5)
#5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5691:5)
... Normal element mounting (4 frames)
#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#10 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (19 frames)
#30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#31 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#32 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (22 frames)
#54 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#55 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#56 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (52 frames)
#108 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#109 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#110 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (129 frames)
#239 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#240 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#241 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (332 frames)
#573 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#574 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#575 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (234 frames)
#809 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#810 Element.updateChild (package:flutter/src/widgets/framework.dart:3998:20)
#811 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5738:16)
#812 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5874:11)
#813 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#814 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2694:15)
#815 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752:11)
#816 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3056:18)
#817 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1515:19)
#818 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#819 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1438:15)
#820 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1351:9)
#821 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1340:9)
#824 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#825 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#826 WidgetTester.pumpAndSettle.<anonymous closure> (package:flutter_test/src/widget_tester.dart:720:23)
#829 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#830 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#831 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart:51:20)
<asynchronous suspension>
#832 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#833 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during layout:
A RenderFlex overflowed by 99625 pixels on the bottom.
The relevant error-causing widget was:
Column
Column:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/email/presentation/widgets/calendar_event/calendar_event_information_widget.dart:83:14
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be
seen. If the content is legitimately bigger than the available space, consider clipping it with a
ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
like a ListView.
The specific RenderFlex in question is: RenderFlex#39b3e relayoutBoundary=up13 OVERFLOWING:
creator: Column ← Padding ← ClipPath ← DecoratedBox ← Container ← Expanded ← Row ← IntrinsicHeight ←
Padding ← ClipPath ← DecoratedBox ← Padding ← ⋯
parentData: offset=Offset(16.0, 16.0) (can use size)
constraints: BoxConstraints(w=603.0, 0.0<=h<=543.0)
size: Size(603.0, 543.0)
direction: vertical
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: start
textDirection: ltr
verticalDirection: down
spacing: 0.0
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: exactly one matching candidate
Actual: _TextWidgetFinder:<Found 5 widgets with text "": [
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 1.0000, blue:
1.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, textAlign: center,
dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 40.0, weight: 700, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text(null,
╞═╦══ textSpan ═══
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 500
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 700
║ ""
║ TextSpan:
║ ""
, dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 0.7569, blue:
0.0275, colorSpace: ColorSpace.sRGB), family: Inter, size: 16.0, weight: 500, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
]>
Which: is too many
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart:54:7)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart line 54
The test description was:
Should show warning message
when user is not in the participants
and is not the organizer
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following message was thrown:
Multiple exceptions (3) were detected during the running of the current test, and at least one was
unexpected.
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart ► CalendarEventInformationWidget:: ► Should NOT show warning message when user is in participants
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: no matching candidates
Actual: _TextWidgetFinder:<Found 4 widgets with text "": [
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 1.0000, blue:
1.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, textAlign: center,
dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 40.0, weight: 700, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text(null,
╞═╦══ textSpan ═══
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 500
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 700
║ ""
║ TextSpan:
║ ""
, dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
]>
Which: means some were found but none were expected
Raw output
[TwakeMail] ℹ️ INFO: _EventAttendeeDetailWidgetState::initState:attendees: 2 | _isShowAllAttendee: true
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building TMailButtonWidget(dirty):
Null check operator used on a null value
The relevant error-causing widget was:
TMailButtonWidget
TMailButtonWidget:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/email/presentation/widgets/calendar_event/calendar_event_action_button_widget.dart:42:20
When the exception was thrown, this was the stack:
#0 TMailButtonWidget.build (package:core/presentation/views/button/tmail_button_widget.dart:301:31)
#1 StatelessElement.build (package:flutter/src/widgets/framework.dart:5781:49)
#2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5715:15)
#3 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5697:5)
#5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5691:5)
... Normal element mounting (4 frames)
#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#10 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (19 frames)
#30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#31 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#32 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (22 frames)
#54 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#55 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#56 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (52 frames)
#108 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#109 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#110 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (129 frames)
#239 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#240 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#241 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (332 frames)
#573 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#574 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#575 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (234 frames)
#809 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#810 Element.updateChild (package:flutter/src/widgets/framework.dart:3998:20)
#811 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5738:16)
#812 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5874:11)
#813 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#814 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2694:15)
#815 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752:11)
#816 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3056:18)
#817 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1515:19)
#818 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#819 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1438:15)
#820 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1351:9)
#821 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1340:9)
#824 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#825 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#826 WidgetTester.pumpAndSettle.<anonymous closure> (package:flutter_test/src/widget_tester.dart:720:23)
#829 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#830 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#831 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart:95:20)
<asynchronous suspension>
#832 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#833 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during layout:
A RenderFlex overflowed by 99609 pixels on the bottom.
The relevant error-causing widget was:
Column
Column:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/email/presentation/widgets/calendar_event/calendar_event_information_widget.dart:83:14
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be
seen. If the content is legitimately bigger than the available space, consider clipping it with a
ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
like a ListView.
The specific RenderFlex in question is: RenderFlex#71775 relayoutBoundary=up13 OVERFLOWING:
creator: Column ← Padding ← ClipPath ← DecoratedBox ← Container ← Expanded ← Row ← IntrinsicHeight ←
Padding ← ClipPath ← DecoratedBox ← Padding ← ⋯
parentData: offset=Offset(16.0, 16.0) (can use size)
constraints: BoxConstraints(w=603.0, 0.0<=h<=543.0)
size: Size(603.0, 543.0)
direction: vertical
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: start
textDirection: ltr
verticalDirection: down
spacing: 0.0
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: no matching candidates
Actual: _TextWidgetFinder:<Found 4 widgets with text "": [
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 1.0000, blue:
1.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, textAlign: center,
dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 40.0, weight: 700, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text(null,
╞═╦══ textSpan ═══
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 500
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 700
║ ""
║ TextSpan:
║ ""
, dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
]>
Which: means some were found but none were expected
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart:98:7)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart line 98
The test description was:
Should NOT show warning message
when user is in participants
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following message was thrown:
Multiple exceptions (3) were detected during the running of the current test, and at least one was
unexpected.
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart ► CalendarEventInformationWidget:: ► Should NOT show warning message when user is the organizer
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: no matching candidates
Actual: _TextWidgetFinder:<Found 4 widgets with text "": [
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 1.0000, blue:
1.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, textAlign: center,
dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 40.0, weight: 700, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text(null,
╞═╦══ textSpan ═══
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 500
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 700
║ ""
║ TextSpan:
║ ""
, dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
]>
Which: means some were found but none were expected
Raw output
[TwakeMail] ℹ️ INFO: _EventAttendeeDetailWidgetState::initState:attendees: 1 | _isShowAllAttendee: true
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building TMailButtonWidget(dirty):
Null check operator used on a null value
The relevant error-causing widget was:
TMailButtonWidget
TMailButtonWidget:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/email/presentation/widgets/calendar_event/calendar_event_action_button_widget.dart:42:20
When the exception was thrown, this was the stack:
#0 TMailButtonWidget.build (package:core/presentation/views/button/tmail_button_widget.dart:301:31)
#1 StatelessElement.build (package:flutter/src/widgets/framework.dart:5781:49)
#2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5715:15)
#3 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5697:5)
#5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5691:5)
... Normal element mounting (4 frames)
#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#10 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#11 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (19 frames)
#30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#31 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#32 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (22 frames)
#54 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#55 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#56 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (52 frames)
#108 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#109 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#110 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (129 frames)
#239 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#240 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#241 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (332 frames)
#573 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#574 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7159:36)
#575 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7175:32)
... Normal element mounting (234 frames)
#809 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4539:16)
#810 Element.updateChild (package:flutter/src/widgets/framework.dart:3998:20)
#811 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5738:16)
#812 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5874:11)
#813 Element.rebuild (package:flutter/src/widgets/framework.dart:5427:7)
#814 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2694:15)
#815 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752:11)
#816 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3056:18)
#817 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1515:19)
#818 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
#819 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1438:15)
#820 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1351:9)
#821 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1340:9)
#824 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#825 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#826 WidgetTester.pumpAndSettle.<anonymous closure> (package:flutter_test/src/widget_tester.dart:720:23)
#829 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#830 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#831 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart:136:20)
<asynchronous suspension>
#832 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#833 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during layout:
A RenderFlex overflowed by 99586 pixels on the bottom.
The relevant error-causing widget was:
Column
Column:file:///home/runner/work/tmail-flutter/tmail-flutter/lib/features/email/presentation/widgets/calendar_event/calendar_event_information_widget.dart:83:14
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be
seen. If the content is legitimately bigger than the available space, consider clipping it with a
ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
like a ListView.
The specific RenderFlex in question is: RenderFlex#a54e1 relayoutBoundary=up13 OVERFLOWING:
creator: Column ← Padding ← ClipPath ← DecoratedBox ← Container ← Expanded ← Row ← IntrinsicHeight ←
Padding ← ClipPath ← DecoratedBox ← Padding ← ⋯
parentData: offset=Offset(16.0, 16.0) (can use size)
constraints: BoxConstraints(w=603.0, 0.0<=h<=543.0)
size: Size(603.0, 543.0)
direction: vertical
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: start
textDirection: ltr
verticalDirection: down
spacing: 0.0
◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: no matching candidates
Actual: _TextWidgetFinder:<Found 4 widgets with text "": [
Text("", inherit: true, color: Color(alpha: 1.0000, red: 1.0000, green: 1.0000, blue:
1.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, textAlign: center,
dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 40.0, weight: 700, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text("", inherit: true, color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
0.0000, colorSpace: ColorSpace.sRGB), family: Inter, size: 14.0, weight: 400, dependencies:
[DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
Text(null,
╞═╦══ textSpan ═══
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 500
║ TextSpan:
║ inherit: true
║ color: Color(alpha: 1.0000, red: 0.0000, green: 0.0000, blue:
║ 0.0000, colorSpace: ColorSpace.sRGB)
║ family: Inter
║ size: 16.0
║ weight: 700
║ ""
║ TextSpan:
║ ""
, dependencies: [DefaultSelectionStyle, DefaultTextStyle, MediaQuery]),
]>
Which: means some were found but none were expected
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart:139:7)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/email/presentation/widgets/calendar_event/calendar_event_information_widget_test.dart line 139
The test description was:
Should NOT show warning message
when user is the organizer
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following message was thrown:
Multiple exceptions (3) were detected during the running of the current test, and at least one was
unexpected.
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart ► RuleFilterCreatorController::test ► The `Mark As Spam` action SHOULD be displayed WHEN editing a filter rule with a spam mailbox id
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: exactly one matching candidate
Actual: _TextWidgetFinder:<Found 0 widgets with text "Mark as spam": []>
Which: means none were found but one was expected
Raw output
[TwakeMail] ℹ️ INFO: RulesFilterCreatorController::handleSuccessViewState():Success = GetAllMailboxLoading
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: exactly one matching candidate
Actual: _TextWidgetFinder:<Found 0 widgets with text "Mark as spam": []>
Which: means none were found but one was expected
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart:236:7)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart line 236
The test description was:
The `Mark As Spam` action SHOULD be displayed
WHEN editing a filter rule with a spam mailbox id
════════════════════════════════════════════════════════════════════════════════════════════════════
github-actions / Flutter Tests - default
test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart ► RuleFilterCreatorController::test ► The `Mark As Spam` action SHOULD not be displayed WHEN editing a filter rule with a non-spam mailbox id
Failed test found in:
test-report-default.json
Error:
The following FakeUsedError was thrown running a test:
'generateMailboxTreeInUI'
No stub was found which matches the argument of this method call:
generateMailboxTreeInUI({allMailboxes: [PresentationMailbox(MailboxId(Id(MailboxA)),
MailboxName(MailboxA), null, null, null, null, null, null, null, null, IsSubscribed(true),
SelectMode.INACTIVE, null, MailboxState.activated, Namespace(Personal), null, null)],
currentDefaultTree: MailboxTree(MailboxNode(PresentationMailbox(MailboxId(Id(SpamId)),
MailboxName(Spam), null, Role(junk), null, null, null, null, null, null, IsSubscribed(true),
SelectMode.INACTIVE, null, MailboxState.activated, Namespace(Personal), null, null), null,
ExpandMode.COLLAPSE, SelectMode.INACTIVE)), currentPersonalTree:
MailboxTree(MailboxNode(PresentationMailbox(MailboxId(Id(root)), null, null, null, null, null, null,
null, null, null, null, SelectMode.INACTIVE, null, MailboxState.activated, null, null, null), null,
ExpandMode.COLLAPSE, SelectMode.INACTIVE)), currentTeamMailboxTree:
MailboxTree(MailboxNode(PresentationMailbox(MailboxId(Id(root)), null, null, null, null, null, null,
null, null, null, null, SelectMode.INACTIVE, null, MailboxState.activated, null, null, null), null,
ExpandMode.COLLAPSE, SelectMode.INACTIVE)), mailboxIdSelected: null, mailboxIdExpanded: null})
A fake object was created for this call, in the hope that it won't be ever accessed.
Here is the stack trace where 'generateMailboxTreeInUI' was called:
#0 new SmartFake (package:mockito/src/mock.dart:245:41)
#1 new _FakeMailboxTree_5
(file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.mocks.dart:127:7)
#2 MockTreeBuilder.generateMailboxTreeInUI
(file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.mocks.dart:1548:24)
#3 BaseMailboxController.buildTree
(package:tmail_ui_user/features/base/base_mailbox_controller.dart:94:43)
#4 RulesFilterCreatorController.handleSuccessViewState
(package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:129:13)
#5 Right.fold (package:dartz/src/either.dart:200:64)
#6 BaseController.onData (package:tmail_ui_user/features/base/base_controller.dart:143:21)
#7 StackZoneSpecification._registerUnaryCallback.<anonymous closure>.<anonymous closure>
(package:stack_trace/src/stack_zone_specification.dart:127:36)
#8 StackZoneSpecification._run (package:stack_trace/src/stack_zone_specification.dart:207:15)
#9 StackZoneSpecification._registerUnaryCallback.<anonymous closure>
(package:stack_trace/src/stack_zone_specification.dart:127:24)
#10 _rootRunUnary (dart:async/zone.dart:1538:47)
#11 _CustomZone.runUnary (dart:async/zone.dart:1429:19)
#12 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329:7)
#13 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381:11)
#14 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312:7)
#15 _MultiStreamController.addSync (dart:async/stream_impl.dart:1197:36)
#16 new Stream.fromIterable.<anonymous closure>.next (dart:async/stream.dart:385:26)
#17 _rootRun (dart:async/zone.dart:1525:13)
#18 _CustomZone.run (dart:async/zone.dart:1422:19)
#19 _CustomZone.runGuarded (dart:async/zone.dart:1321:7)
#20 FakeAsync.run.<anonymous closure>.<anonymous closure>
(package:fake_async/fake_async.dart:189:18)
#21 FakeAsync.flushMicrotasks (package:fake_async/fake_async.dart:200:32)
#22 FakeAsync._fireTimersWhile (package:fake_async/fake_async.dart:241:5)
#23 FakeAsync.elapse (package:fake_async/fake_async.dart:141:5)
#24 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure>
(package:flutter_test/src/binding.dart:1333:28)
#25 _rootRun (dart:async/zone.dart:1525:13)
#26 _CustomZone.run (dart:async/zone.dart:1422:19)
#27 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#28 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#29 WidgetTester.pumpAndSettle.<anonymous closure>
(package:flutter_test/src/widget_tester.dart:720:23)
#30 _rootRun (dart:async/zone.dart:1525:13)
#31 _CustomZone.run (dart:async/zone.dart:1422:19)
#32 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#33 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#34 main.<anonymous closure>.<anonymous closure>
(file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart:309:20)
<asynchronous suspension>
#35 testWidgets.<anonymous closure>.<anonymous closure>
(package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#36 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
#37 StackZoneSpecification._registerCallback.<anonymous closure>
(package:stack_trace/src/stack_zone_specification.dart:114:42)
<asynchronous suspension>
However, member 'findNode' of the created fake object was accessed.
Add a stub for MockTreeBuilder.generateMailboxTreeInUI using Mockito's 'when' API.
When the exception was thrown, this was the stack:
#0 SmartFake.noSuchMethod (package:mockito/src/mock.dart:242:50)
#1 _FakeMailboxTree_5.findNode (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.mocks.dart:123:7)
#2 BaseMailboxController.findMailboxNodeById (package:tmail_ui_user/features/base/base_mailbox_controller.dart:202:50)
#3 RulesFilterCreatorController._setUpRuleFilterActions (package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:265:25)
#4 RulesFilterCreatorController.onDone.<anonymous closure> (package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:146:9)
#5 Right.fold (package:dartz/src/either.dart:200:64)
#6 RulesFilterCreatorController.onDone (package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:144:21)
#20 FakeAsync.run.<anonymous closure>.<anonymous closure> (package:fake_async/fake_async.dart:189:18)
#21 FakeAsync.flushMicrotasks (package:fake_async/fake_async.dart:200:32)
#22 FakeAsync._fireTimersWhile (package:fake_async/fake_async.dart:241:5)
#23 FakeAsync.elapse (package:fake_async/fake_async.dart:141:5)
#24 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1333:28)
#27 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#28 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#29 WidgetTester.pumpAndSettle.<anonymous closure> (package:flutter_test/src/widget_tester.dart:720:23)
#32 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#33 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#34 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart:309:20)
<asynchronous suspension>
#35 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#36 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 18 frames from dart:async and package:stack_trace)
The test description was:
The `Mark As Spam` action SHOULD not be displayed
WHEN editing a filter rule with a non-spam mailbox id
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test (but after the test had completed):
Expected: <1>
Actual: <2>
Raw output
[TwakeMail] ℹ️ INFO: RulesFilterCreatorController::handleSuccessViewState():Success = GetAllMailboxLoading
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following FakeUsedError was thrown running a test:
'generateMailboxTreeInUI'
No stub was found which matches the argument of this method call:
generateMailboxTreeInUI({allMailboxes: [PresentationMailbox(MailboxId(Id(MailboxA)),
MailboxName(MailboxA), null, null, null, null, null, null, null, null, IsSubscribed(true),
SelectMode.INACTIVE, null, MailboxState.activated, Namespace(Personal), null, null)],
currentDefaultTree: MailboxTree(MailboxNode(PresentationMailbox(MailboxId(Id(SpamId)),
MailboxName(Spam), null, Role(junk), null, null, null, null, null, null, IsSubscribed(true),
SelectMode.INACTIVE, null, MailboxState.activated, Namespace(Personal), null, null), null,
ExpandMode.COLLAPSE, SelectMode.INACTIVE)), currentPersonalTree:
MailboxTree(MailboxNode(PresentationMailbox(MailboxId(Id(root)), null, null, null, null, null, null,
null, null, null, null, SelectMode.INACTIVE, null, MailboxState.activated, null, null, null), null,
ExpandMode.COLLAPSE, SelectMode.INACTIVE)), currentTeamMailboxTree:
MailboxTree(MailboxNode(PresentationMailbox(MailboxId(Id(root)), null, null, null, null, null, null,
null, null, null, null, SelectMode.INACTIVE, null, MailboxState.activated, null, null, null), null,
ExpandMode.COLLAPSE, SelectMode.INACTIVE)), mailboxIdSelected: null, mailboxIdExpanded: null})
A fake object was created for this call, in the hope that it won't be ever accessed.
Here is the stack trace where 'generateMailboxTreeInUI' was called:
#0 new SmartFake (package:mockito/src/mock.dart:245:41)
#1 new _FakeMailboxTree_5
(file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.mocks.dart:127:7)
#2 MockTreeBuilder.generateMailboxTreeInUI
(file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.mocks.dart:1548:24)
#3 BaseMailboxController.buildTree
(package:tmail_ui_user/features/base/base_mailbox_controller.dart:94:43)
#4 RulesFilterCreatorController.handleSuccessViewState
(package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:129:13)
#5 Right.fold (package:dartz/src/either.dart:200:64)
#6 BaseController.onData (package:tmail_ui_user/features/base/base_controller.dart:143:21)
#7 StackZoneSpecification._registerUnaryCallback.<anonymous closure>.<anonymous closure>
(package:stack_trace/src/stack_zone_specification.dart:127:36)
#8 StackZoneSpecification._run (package:stack_trace/src/stack_zone_specification.dart:207:15)
#9 StackZoneSpecification._registerUnaryCallback.<anonymous closure>
(package:stack_trace/src/stack_zone_specification.dart:127:24)
#10 _rootRunUnary (dart:async/zone.dart:1538:47)
#11 _CustomZone.runUnary (dart:async/zone.dart:1429:19)
#12 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329:7)
#13 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381:11)
#14 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312:7)
#15 _MultiStreamController.addSync (dart:async/stream_impl.dart:1197:36)
#16 new Stream.fromIterable.<anonymous closure>.next (dart:async/stream.dart:385:26)
#17 _rootRun (dart:async/zone.dart:1525:13)
#18 _CustomZone.run (dart:async/zone.dart:1422:19)
#19 _CustomZone.runGuarded (dart:async/zone.dart:1321:7)
#20 FakeAsync.run.<anonymous closure>.<anonymous closure>
(package:fake_async/fake_async.dart:189:18)
#21 FakeAsync.flushMicrotasks (package:fake_async/fake_async.dart:200:32)
#22 FakeAsync._fireTimersWhile (package:fake_async/fake_async.dart:241:5)
#23 FakeAsync.elapse (package:fake_async/fake_async.dart:141:5)
#24 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure>
(package:flutter_test/src/binding.dart:1333:28)
#25 _rootRun (dart:async/zone.dart:1525:13)
#26 _CustomZone.run (dart:async/zone.dart:1422:19)
#27 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#28 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#29 WidgetTester.pumpAndSettle.<anonymous closure>
(package:flutter_test/src/widget_tester.dart:720:23)
#30 _rootRun (dart:async/zone.dart:1525:13)
#31 _CustomZone.run (dart:async/zone.dart:1422:19)
#32 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#33 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#34 main.<anonymous closure>.<anonymous closure>
(file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart:309:20)
<asynchronous suspension>
#35 testWidgets.<anonymous closure>.<anonymous closure>
(package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#36 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
#37 StackZoneSpecification._registerCallback.<anonymous closure>
(package:stack_trace/src/stack_zone_specification.dart:114:42)
<asynchronous suspension>
However, member 'findNode' of the created fake object was accessed.
Add a stub for MockTreeBuilder.generateMailboxTreeInUI using Mockito's 'when' API.
When the exception was thrown, this was the stack:
#0 SmartFake.noSuchMethod (package:mockito/src/mock.dart:242:50)
#1 _FakeMailboxTree_5.findNode (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.mocks.dart:123:7)
#2 BaseMailboxController.findMailboxNodeById (package:tmail_ui_user/features/base/base_mailbox_controller.dart:202:50)
#3 RulesFilterCreatorController._setUpRuleFilterActions (package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:265:25)
#4 RulesFilterCreatorController.onDone.<anonymous closure> (package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:146:9)
#5 Right.fold (package:dartz/src/either.dart:200:64)
#6 RulesFilterCreatorController.onDone (package:tmail_ui_user/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart:144:21)
#20 FakeAsync.run.<anonymous closure>.<anonymous closure> (package:fake_async/fake_async.dart:189:18)
#21 FakeAsync.flushMicrotasks (package:fake_async/fake_async.dart:200:32)
#22 FakeAsync._fireTimersWhile (package:fake_async/fake_async.dart:241:5)
#23 FakeAsync.elapse (package:fake_async/fake_async.dart:141:5)
#24 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1333:28)
#27 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#28 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1329:27)
#29 WidgetTester.pumpAndSettle.<anonymous closure> (package:flutter_test/src/widget_tester.dart:720:23)
#32 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:74:41)
#33 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:713:27)
#34 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart:309:20)
<asynchronous suspension>
#35 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#36 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 18 frames from dart:async and package:stack_trace)
The test description was:
The `Mark As Spam` action SHOULD not be displayed
WHEN editing a filter rule with a non-spam mailbox id
════════════════════════════════════════════════════════════════════════════════════════════════════
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test (but after the test had completed):
Expected: <1>
Actual: <2>
When the exception was thrown, this was the stack:
#0 fail (package:matcher/src/expect/expect.dart:149:31)
#1 _expect (package:matcher/src/expect/expect.dart:144:3)
#2 expect (package:matcher/src/expect/expect.dart:56:3)
#3 expect (package:flutter_test/src/widget_tester.dart:474:18)
#4 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/rule_filter_creator/presentation/rule_filter_creator_controller_test.dart:311:7)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
════════════════════════════════════════════════════════════════════════════════════════════════════
Check failure on line 59 in test/features/thread/presentation/widgets/empty_email_widget_test.dart
github-actions / Flutter Tests - default
test/features/thread/presentation/widgets/empty_email_widget_test.dart ► EmptyEmailsWidget::widgetTest ► should have CreateRuleFilter button and message correctly when search inactive and filter inactive
Failed test found in:
test-report-default.json
Error:
The following TestFailure was thrown running a test:
Expected: 'You don’t have any emails\n'
' in this folder.'
Actual: ''
Which: is different. Both strings start the same, but the actual value is missing the following
trailing characters: You don’t ...
Raw output
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: 'You don’t have any emails\n'
' in this folder.'
Actual: ''
Which: is different. Both strings start the same, but the actual value is missing the following
trailing characters: You don’t ...
When the exception was thrown, this was the stack:
#4 main.<anonymous closure>.<anonymous closure> (file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/thread/presentation/widgets/empty_email_widget_test.dart:59:7)
<asynchronous suspension>
#5 testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:193:15)
<asynchronous suspension>
#6 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1064:5)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
This was caught by the test expectation on the following line:
file:///home/runner/work/tmail-flutter/tmail-flutter/test/features/thread/presentation/widgets/empty_email_widget_test.dart line 59
The test description was:
should have CreateRuleFilter button and message correctly
when search inactive and filter inactive
════════════════════════════════════════════════════════════════════════════════════════════════════