Fixed improper assertion of maxCrossAxisExtent (#75095)

This commit is contained in:
Chinmoy 2021-02-19 01:56:11 +05:30 committed by GitHub
parent ba5cc2cba4
commit c785efadda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View file

@ -447,7 +447,7 @@ class SliverGridDelegateWithMaxCrossAxisExtent extends SliverGridDelegate {
this.crossAxisSpacing = 0.0,
this.childAspectRatio = 1.0,
this.mainAxisExtent,
}) : assert(maxCrossAxisExtent != null && maxCrossAxisExtent >= 0),
}) : assert(maxCrossAxisExtent != null && maxCrossAxisExtent > 0),
assert(mainAxisSpacing != null && mainAxisSpacing >= 0),
assert(crossAxisSpacing != null && crossAxisSpacing >= 0),
assert(childAspectRatio != null && childAspectRatio > 0);

View file

@ -783,4 +783,16 @@ void main() {
expect(tester.getSize(find.text('4')), equals(const Size(200.0, mainAxisExtent)));
});
testWidgets('SliverGridDelegateWithMaxCrossAxisExtent throws assertion error when maxCrossAxisExtent is 0', (WidgetTester tester) async {
const double maxCrossAxisExtent = 0;
expect(() => Directionality(
textDirection: TextDirection.ltr,
child: GridView.extent(
maxCrossAxisExtent: maxCrossAxisExtent,
),
), throwsA(isA<AssertionError>()));
});
}