From d7d642653acd3c45166f09711540b13488edd6b7 Mon Sep 17 00:00:00 2001 From: Tianguang Date: Mon, 13 Jan 2020 21:34:30 +0100 Subject: [PATCH] Add asserts requiring BoxConstraints' parameters to be non-null (#48295) --- packages/flutter/lib/src/rendering/box.dart | 5 ++++- packages/flutter/test/rendering/box_test.dart | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 {