diff --git a/packages/flutter/lib/src/rendering/wrap.dart b/packages/flutter/lib/src/rendering/wrap.dart index 1eab803511..ff09a70dd3 100644 --- a/packages/flutter/lib/src/rendering/wrap.dart +++ b/packages/flutter/lib/src/rendering/wrap.dart @@ -421,7 +421,7 @@ class RenderWrap extends RenderBox double computeMaxIntrinsicWidth(double height) { switch (direction) { case Axis.horizontal: - double width = math.max(childCount - 1, 0) * spacing; + double width = 0.0; RenderBox? child = firstChild; while (child != null) { width += child.getMaxIntrinsicWidth(double.infinity); @@ -455,7 +455,7 @@ class RenderWrap extends RenderBox case Axis.horizontal: return computeDryLayout(BoxConstraints(maxWidth: width)).height; case Axis.vertical: - double height = math.max(childCount - 1, 0) * spacing; + double height = 0.0; RenderBox? child = firstChild; while (child != null) { height += child.getMaxIntrinsicHeight(double.infinity); diff --git a/packages/flutter/test/rendering/wrap_test.dart b/packages/flutter/test/rendering/wrap_test.dart index 4deb640970..4b0891ac7d 100644 --- a/packages/flutter/test/rendering/wrap_test.dart +++ b/packages/flutter/test/rendering/wrap_test.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:math' as math; - import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -221,91 +219,4 @@ void main() { expect(context.clipBehavior, equals(clip)); } }); - - test('Compute max intrinsic height with spacing', () { - const double itemWidth = 64; - const double itemHeight = 32; - - final RenderBox child = RenderConstrainedBox( - additionalConstraints: const BoxConstraints.tightFor( - width: itemWidth, - height: itemHeight, - ), - ); - - final RenderWrap renderWrap = RenderWrap(); - renderWrap.add(child); - - renderWrap.spacing = 5; - renderWrap.direction = Axis.vertical; - - expect(renderWrap.computeMaxIntrinsicHeight(double.infinity), itemHeight); - - - final List children = [ - RenderConstrainedBox( - additionalConstraints: const BoxConstraints.tightFor( - width: itemWidth, - height: itemHeight, - ), - ), - RenderConstrainedBox( - additionalConstraints: const BoxConstraints.tightFor( - width: itemWidth, - height: itemHeight, - ), - ), - ]; - - children.forEach(renderWrap.add); - - final double childrenHeight = renderWrap.childCount * itemHeight; - final double spacingHeight = math.max(renderWrap.childCount - 1, 0) * renderWrap.spacing; - - expect(renderWrap.computeMaxIntrinsicHeight(double.infinity), childrenHeight + spacingHeight); - }); - - test('Compute max intrinsic width with spacing', () { - const double itemWidth = 64; - const double itemHeight = 32; - - final RenderBox child = RenderConstrainedBox( - additionalConstraints: const BoxConstraints.tightFor( - width: itemWidth, - height: itemHeight, - ), - ); - - final RenderWrap renderWrap = RenderWrap(); - renderWrap.add(child); - - renderWrap.spacing = 5; - renderWrap.direction = Axis.horizontal; - - expect(renderWrap.computeMaxIntrinsicWidth(double.infinity), itemWidth); - - - final List children = [ - RenderConstrainedBox( - additionalConstraints: const BoxConstraints.tightFor( - width: itemWidth, - height: itemHeight, - ), - ), - RenderConstrainedBox( - additionalConstraints: const BoxConstraints.tightFor( - width: itemWidth, - height: itemHeight, - ), - ), - ]; - - children.forEach(renderWrap.add); - - final double childrenWidth = renderWrap.childCount * itemWidth; - final double spacingWidth = math.max(renderWrap.childCount - 1, 0) * renderWrap.spacing; - - expect(renderWrap.computeMaxIntrinsicWidth(double.infinity), childrenWidth + spacingWidth); - }); - }