Make _RenderButtonBarRow.constraints null aware (#57261)

This commit is contained in:
Andre 2020-05-18 12:07:02 -04:00 committed by GitHub
parent f2c12d7e79
commit 6294dd59bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -334,7 +334,7 @@ class _RenderButtonBarRow extends RenderFlex {
BoxConstraints get constraints {
if (_hasCheckedLayoutWidth)
return super.constraints;
return super.constraints.copyWith(maxWidth: double.infinity);
return super.constraints?.copyWith(maxWidth: double.infinity);
}
@override

View File

@ -627,4 +627,18 @@ void main() {
},
);
});
testWidgets('_RenderButtonBarRow.constraints works before layout', (WidgetTester tester) async {
await tester.pumpWidget(
const MaterialApp(home: ButtonBar()),
Duration.zero,
EnginePhase.build,
);
final Finder buttonBar = find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_ButtonBarRow');
final RenderBox renderButtonBar = tester.renderObject(buttonBar) as RenderBox;
expect(renderButtonBar.debugNeedsLayout, isTrue);
expect(renderButtonBar.constraints, isNull);
});
}