diff --git a/packages/flutter/lib/src/rendering/box.dart b/packages/flutter/lib/src/rendering/box.dart index 2edc25a11b..d12ec23d25 100644 --- a/packages/flutter/lib/src/rendering/box.dart +++ b/packages/flutter/lib/src/rendering/box.dart @@ -90,7 +90,10 @@ class BoxConstraints extends Constraints { this.maxWidth = double.infinity, this.minHeight = 0.0, this.maxHeight = double.infinity, - }); + }) : assert (minWidth != null), + assert (maxWidth != null), + assert (minHeight != null), + assert (maxHeight != null); /// Creates box constraints that is respected only by the given size. BoxConstraints.tight(Size size) diff --git a/packages/flutter/test/rendering/box_test.dart b/packages/flutter/test/rendering/box_test.dart index 10a1ff2644..494c7bad97 100644 --- a/packages/flutter/test/rendering/box_test.dart +++ b/packages/flutter/test/rendering/box_test.dart @@ -1007,6 +1007,13 @@ void main() { expect(innerConstrained.localToGlobal(Offset.zero, ancestor: outerConstrained).dy, 25.0); }); }); + + test('BoxConstraints parameters should be non-null', () { + expect(() => BoxConstraints(minWidth: null), throwsAssertionError); + expect(() => BoxConstraints(maxWidth: null), throwsAssertionError); + expect(() => BoxConstraints(minHeight: null), throwsAssertionError); + expect(() => BoxConstraints(maxHeight: null), throwsAssertionError); + }); } class _DummyHitTestTarget implements HitTestTarget {