[go: nahoru, domu]

Skip to content

Commit

Permalink
Reland Cupertino text input padding (#115164)
Browse files Browse the repository at this point in the history
* Update Cupertino text input padding

* Remove comment

* Update tests
  • Loading branch information
MitchellGoodwin committed Nov 28, 2022
1 parent 3cafeb3 commit b22ab51
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 45 deletions.
4 changes: 2 additions & 2 deletions packages/flutter/lib/src/cupertino/search_field.dart
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ class CupertinoSearchTextField extends StatefulWidget {
this.backgroundColor,
this.borderRadius,
this.keyboardType = TextInputType.text,
this.padding = const EdgeInsetsDirectional.fromSTEB(3.8, 8, 5, 8),
this.padding = const EdgeInsetsDirectional.fromSTEB(5.5, 8, 5.5, 8),
this.itemColor = CupertinoColors.secondaryLabel,
this.itemSize = 20.0,
this.prefixInsets = const EdgeInsetsDirectional.fromSTEB(6, 0, 0, 4),
this.prefixInsets = const EdgeInsetsDirectional.fromSTEB(6, 0, 0, 3),
this.prefixIcon = const Icon(CupertinoIcons.search),
this.suffixInsets = const EdgeInsetsDirectional.fromSTEB(0, 0, 5, 2),
this.suffixIcon = const Icon(CupertinoIcons.xmark_circle_fill),
Expand Down
4 changes: 2 additions & 2 deletions packages/flutter/lib/src/cupertino/text_field.dart
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ class CupertinoTextField extends StatefulWidget {
this.controller,
this.focusNode,
this.decoration = _kDefaultRoundedBorderDecoration,
this.padding = const EdgeInsets.all(6.0),
this.padding = const EdgeInsets.all(7.0),
this.placeholder,
this.placeholderStyle = const TextStyle(
fontWeight: FontWeight.w400,
Expand Down Expand Up @@ -362,7 +362,7 @@ class CupertinoTextField extends StatefulWidget {
this.controller,
this.focusNode,
this.decoration,
this.padding = const EdgeInsets.all(6.0),
this.padding = const EdgeInsets.all(7.0),
this.placeholder,
this.placeholderStyle = _kDefaultPlaceholderStyle,
this.prefix,
Expand Down
10 changes: 5 additions & 5 deletions packages/flutter/test/cupertino/search_field_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ void main() {
expect(
tester.getTopLeft(find.text('initial')) -
tester.getTopLeft(find.byType(CupertinoSearchTextField)),
const Offset(29.8, 8.0),
const Offset(31.5, 8.0),
);
},
);
Expand Down Expand Up @@ -231,15 +231,15 @@ void main() {
);

expect(
tester.getTopRight(find.byIcon(CupertinoIcons.search)).dx + 3.8,
tester.getTopRight(find.byIcon(CupertinoIcons.search)).dx + 5.5,
tester.getTopLeft(find.byType(EditableText)).dx,
);

expect(
tester.getTopLeft(find.byType(EditableText)).dx,
tester.getTopLeft(find.byType(CupertinoSearchTextField)).dx +
tester.getSize(find.byIcon(CupertinoIcons.search)).width +
9.8,
11.5,
);
},
);
Expand All @@ -258,7 +258,7 @@ void main() {
);

expect(
tester.getTopRight(find.byType(EditableText)).dx + 5.0,
tester.getTopRight(find.byType(EditableText)).dx + 5.5,
tester.getTopLeft(find.byIcon(CupertinoIcons.xmark_circle_fill)).dx,
);

Expand All @@ -268,7 +268,7 @@ void main() {
tester
.getSize(find.byIcon(CupertinoIcons.xmark_circle_fill))
.width -
10.0,
10.5,
);
},
);
Expand Down
72 changes: 36 additions & 36 deletions packages/flutter/test/cupertino/text_field_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)),
const Size(200, 29), // 29 is the height of the default font + padding etc.
const Size(200, 31), // 31 is the height of the default font + padding etc.
);
},
);
Expand All @@ -401,7 +401,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)),
const Size(200, 29), // 29 is the height of the default font (17) + decoration (12).
const Size(200, 31), // 31 is the height of the default font (17) + decoration (12).
);
},
);
Expand Down Expand Up @@ -508,7 +508,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)),
const Size(200, 63), // 63 is the height of the default font (17) * maxlines (3) + decoration height (12).
const Size(200, 65), // 65 is the height of the default font (17) * maxlines (3) + decoration height (12).
);
},
);
Expand All @@ -529,7 +529,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)),
const Size(200, 63),
const Size(200, 65),
);
},
);
Expand All @@ -556,7 +556,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)),
const Size(200, 36),
const Size(200, 38),
);
},
// TODO(mdebbar): Strut styles support.
Expand Down Expand Up @@ -586,7 +586,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)),
const Size(200, 66),
const Size(200, 68),
);
},
// TODO(mdebbar): Strut styles support.
Expand Down Expand Up @@ -686,7 +686,7 @@ void main() {

expect(
tester.getTopLeft(find.text('initial')) - tester.getTopLeft(find.byType(CupertinoTextField)),
const Offset(6.0, 6.0),
const Offset(7.0, 7.0),
);
},
);
Expand Down Expand Up @@ -913,15 +913,15 @@ void main() {
);

expect(
tester.getTopRight(find.byIcon(CupertinoIcons.add)).dx + 6.0, // 6px standard padding around input.
tester.getTopRight(find.byIcon(CupertinoIcons.add)).dx + 7.0, // 7px standard padding around input.
tester.getTopLeft(find.byType(EditableText)).dx,
);

expect(
tester.getTopLeft(find.byType(EditableText)).dx,
tester.getTopLeft(find.byType(CupertinoTextField)).dx
+ tester.getSize(find.byIcon(CupertinoIcons.add)).width
+ 6.0,
+ 7.0,
);
},
);
Expand All @@ -944,7 +944,7 @@ void main() {
// The position should just be the edge of the whole text field plus padding.
expect(
tester.getTopLeft(find.byType(EditableText)).dx,
tester.getTopLeft(find.byType(CupertinoTextField)).dx + 6.0,
tester.getTopLeft(find.byType(CupertinoTextField)).dx + 7.0,
);

await tester.enterText(find.byType(CupertinoTextField), 'text input');
Expand All @@ -958,7 +958,7 @@ void main() {
tester.getTopLeft(find.byType(EditableText)).dx,
tester.getTopLeft(find.byType(CupertinoTextField)).dx
+ tester.getSize(find.byIcon(CupertinoIcons.add)).width
+ 6.0,
+ 7.0,
);
},
);
Expand All @@ -979,15 +979,15 @@ void main() {
);

expect(
tester.getTopRight(find.byType(EditableText)).dx + 6.0,
tester.getTopLeft(find.byIcon(CupertinoIcons.add)).dx, // 6px standard padding around input.
tester.getTopRight(find.byType(EditableText)).dx + 7.0,
tester.getTopLeft(find.byIcon(CupertinoIcons.add)).dx, // 7px standard padding around input.
);

expect(
tester.getTopRight(find.byType(EditableText)).dx,
tester.getTopRight(find.byType(CupertinoTextField)).dx
- tester.getSize(find.byIcon(CupertinoIcons.add)).width
- 6.0,
- 7.0,
);
},
);
Expand Down Expand Up @@ -1170,7 +1170,7 @@ void main() {

expect(
tester.getTopRight(find.byType(EditableText)).dx,
800.0 - 30.0 /* size of button */ - 6.0 /* padding */,
800.0 - 30.0 /* size of button */ - 7.0 /* padding */,
);

await tester.pumpWidget(
Expand All @@ -1188,7 +1188,7 @@ void main() {
expect(find.byIcon(CupertinoIcons.clear_thick_circled), findsNothing);
expect(
tester.getTopRight(find.byType(EditableText)).dx,
800.0 - 6.0 /* padding */,
800.0 - 7.0 /* padding */,
);

await tester.enterText(find.byType(CupertinoTextField), 'text input');
Expand All @@ -1198,7 +1198,7 @@ void main() {
expect(find.text('text input'), findsOneWidget);
expect(
tester.getTopRight(find.byType(EditableText)).dx,
800.0 - 30.0 - 6.0,
800.0 - 30.0 - 7.0,
);

await tester.pumpWidget(
Expand Down Expand Up @@ -1302,7 +1302,7 @@ void main() {

expect(
tester.getTopRight(find.byType(EditableText)).dx,
800.0 - 30.0 /* size of button */ - 6.0 /* padding */,
800.0 - 30.0 /* size of button */ - 7.0 /* padding */,
);

controller.text = 'non empty text';
Expand All @@ -1314,7 +1314,7 @@ void main() {
// Still just takes the space of one widget.
expect(
tester.getTopRight(find.byType(EditableText)).dx,
800.0 - 24.0 /* size of button */ - 6.0 /* padding */,
800.0 - 24.0 /* size of button */ - 7.0 /* padding */,
);
},
);
Expand All @@ -1334,7 +1334,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
29.0,
31.0,
);

await tester.pumpWidget(
Expand All @@ -1353,7 +1353,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
62.0,
64.0,
);
},
);
Expand All @@ -1371,7 +1371,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
29.0,
31.0,
);

await tester.pumpWidget(
Expand All @@ -1389,7 +1389,7 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
62.0,
64.0,
);
},
);
Expand Down Expand Up @@ -1440,15 +1440,15 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
29.0, // Initially one line high.
31.0, // Initially one line high.
);

await tester.enterText(find.byType(CupertinoTextField), '\n');
await tester.pump();

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
46.0, // Initially one line high.
48.0, // Initially one line high.
);
},
);
Expand All @@ -1468,15 +1468,15 @@ void main() {

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
29.0, // Initially one line high.
31.0, // Initially one line high.
);

await tester.enterText(find.byType(CupertinoTextField), '\n');
await tester.pump();

expect(
tester.getSize(find.byType(CupertinoTextField)).height,
46.0, // Initially one line high.
48.0, // Initially one line high.
);
},
);
Expand Down Expand Up @@ -3001,14 +3001,14 @@ void main() {

expect(lastCharEndpoint.length, 1);
// The last character is now on screen near the right edge.
expect(lastCharEndpoint[0].point.dx, moreOrLessEquals(786.73, epsilon: 1));
expect(lastCharEndpoint[0].point.dx, moreOrLessEquals(785.40, epsilon: 1));

final List<TextSelectionPoint> firstCharEndpoint = renderEditable.getEndpointsForSelection(
const TextSelection.collapsed(offset: 0), // First character's position.
);
expect(firstCharEndpoint.length, 1);
// The first character is now offscreen to the left.
expect(firstCharEndpoint[0].point.dx, moreOrLessEquals(-308.20, epsilon: 1));
expect(firstCharEndpoint[0].point.dx, moreOrLessEquals(-309.30, epsilon: 1));
}, variant: TargetPlatformVariant.all(excluding: <TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }));

testWidgets('long press drag can edge scroll on Apple platforms', (WidgetTester tester) async {
Expand Down Expand Up @@ -3098,14 +3098,14 @@ void main() {

expect(lastCharEndpoint.length, 1);
// The last character is now on screen.
expect(lastCharEndpoint[0].point.dx, moreOrLessEquals(786.73, epsilon: 0.25));
expect(lastCharEndpoint[0].point.dx, moreOrLessEquals(784.73, epsilon: 0.25));

final List<TextSelectionPoint> firstCharEndpoint = renderEditable.getEndpointsForSelection(
const TextSelection.collapsed(offset: 0), // First character's position.
);
expect(firstCharEndpoint.length, 1);
// The first character is now offscreen to the left.
expect(firstCharEndpoint[0].point.dx, moreOrLessEquals(-308.20, epsilon: 0.25));
expect(firstCharEndpoint[0].point.dx, moreOrLessEquals(-310.20, epsilon: 0.25));
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS }));

testWidgets(
Expand Down Expand Up @@ -4608,7 +4608,7 @@ void main() {
child: ListView(
controller: scrollController,
children: <Widget>[
Container(height: 585), // Push field almost off screen.
Container(height: 583), // Push field almost off screen.
CupertinoTextField(controller: controller),
Container(height: 1000),
],
Expand All @@ -4623,7 +4623,7 @@ void main() {

// The ListView has scrolled to keep the TextField and cursor handle
// visible.
expect(scrollController.offset, 26.0);
expect(scrollController.offset, 25.0);
});

testWidgets('disabled state golden', (WidgetTester tester) async {
Expand Down Expand Up @@ -5126,7 +5126,7 @@ void main() {

// The EditableText is at the top.
expect(tester.getTopLeft(find.byType(CupertinoTextField)).dy, moreOrLessEquals(size.height, epsilon: .0001));
expect(tester.getTopLeft(find.byType(EditableText)).dy, moreOrLessEquals(206.0, epsilon: .0001));
expect(tester.getTopLeft(find.byType(EditableText)).dy, moreOrLessEquals(207.0, epsilon: .0001));
});

testWidgets('align center', (WidgetTester tester) async {
Expand Down Expand Up @@ -5220,7 +5220,7 @@ void main() {

// The EditableText is at the bottom.
expect(tester.getTopLeft(find.byType(CupertinoTextField)).dy, moreOrLessEquals(size.height, epsilon: .0001));
expect(tester.getTopLeft(find.byType(EditableText)).dy, moreOrLessEquals(377.0, epsilon: .0001));
expect(tester.getTopLeft(find.byType(EditableText)).dy, moreOrLessEquals(376.0, epsilon: .0001));
});

testWidgets('align as a double', (WidgetTester tester) async {
Expand Down Expand Up @@ -5267,7 +5267,7 @@ void main() {

// The EditableText is near the bottom.
expect(tester.getTopLeft(find.byType(CupertinoTextField)).dy, moreOrLessEquals(size.height, epsilon: .0001));
expect(tester.getTopLeft(find.byType(EditableText)).dy, moreOrLessEquals(355.625, epsilon: .0001));
expect(tester.getTopLeft(find.byType(EditableText)).dy, moreOrLessEquals(354.875, epsilon: .0001));
});
});

Expand Down

0 comments on commit b22ab51

Please sign in to comment.