Unverified Commit 7a0e3a30 authored by Chinmoy's avatar Chinmoy Committed by GitHub

Prevent text from overflowing in OutlineButton and OutlinedButton label. (#70872)

parent 29d33cc3
......@@ -310,7 +310,7 @@ class _OutlineButtonWithIcon extends OutlineButton with MaterialButtonWithIconMi
children: <Widget>[
icon,
const SizedBox(width: 8.0),
label,
Flexible(child: label),
],
),
);
......
......@@ -345,7 +345,7 @@ class _OutlinedButtonWithIconChild extends StatelessWidget {
final double gap = scale <= 1 ? 8 : lerpDouble(8, 4, math.min(scale - 1, 1))!;
return Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[icon, SizedBox(width: gap), label],
children: <Widget>[icon, SizedBox(width: gap), Flexible(child: label)],
);
}
}
......@@ -1222,6 +1222,22 @@ void main() {
expect(box.size, equals(const Size(76, 36)));
expect(childRect, equals(const Rect.fromLTRB(372.0, 293.0, 428.0, 307.0)));
});
testWidgets('Text does not overflow in OutlineButton label', (WidgetTester tester) async {
await tester.pumpWidget(
Directionality(
textDirection: TextDirection.ltr,
child: MouseRegion(
cursor: SystemMouseCursors.forbidden,
child: OutlineButton.icon(
icon: const Icon(Icons.add),
label: const Text('this is a very long text used to check whether an overflow occurs or not'),
onPressed: () {},
),
),
),
);
});
}
PhysicalModelLayer _findPhysicalLayer(Element element) {
......
......@@ -1212,6 +1212,22 @@ void main() {
);
expect(paddingWidget.padding, const EdgeInsets.all(22));
});
testWidgets('Text does not overflow in OutlinedButton label', (WidgetTester tester) async {
await tester.pumpWidget(
Directionality(
textDirection: TextDirection.ltr,
child: MouseRegion(
cursor: SystemMouseCursors.forbidden,
child: OutlinedButton.icon(
icon: const Icon(Icons.add),
label: const Text('this is a very long text used to check whether an overflow occurs or not'),
onPressed: () {},
),
),
),
);
});
}
PhysicalModelLayer _findPhysicalLayer(Element element) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment