@@ -65,9 +65,9 @@ void main() {
6565 final TextPainter painter = TextPainter ()
6666 ..textDirection = TextDirection .ltr;
6767
68- // Format: '👩<zwj>👩<zwj>👦👩<zwj>👩<zwj>👧<zwj>👧🇺🇸 '
69- // One three-person family, one four person family, one US flag .
70- const String text = '👩👩👦👩👩👧👧🇺🇸 ' ;
68+ // Format: '👩<zwj>👩<zwj>👦👩<zwj>👩<zwj>👧<zwj>👧👏<modifier> '
69+ // One three-person family, one four- person family, one clapping hands (medium skin tone) .
70+ const String text = '👩👩👦👩👩👧👧👏🏽 ' ;
7171 painter.text = const TextSpan (text: text);
7272 painter.layout (maxWidth: 10000 );
7373
@@ -116,13 +116,15 @@ void main() {
116116 caretOffset = painter.getOffsetForCaret (const ui.TextPosition (offset: 18 ), ui.Rect .zero);
117117 expect (caretOffset.dx, 98 ); // 👧
118118 caretOffset = painter.getOffsetForCaret (const ui.TextPosition (offset: 19 ), ui.Rect .zero);
119- expect (caretOffset.dx, 98 ); // 🇺
119+ expect (caretOffset.dx, 98 ); // 👏
120120 caretOffset = painter.getOffsetForCaret (const ui.TextPosition (offset: 20 ), ui.Rect .zero);
121- expect (caretOffset.dx, 112 ); // 🇺
121+ expect (caretOffset.dx, 98 ); // 👏
122122 caretOffset = painter.getOffsetForCaret (const ui.TextPosition (offset: 21 ), ui.Rect .zero);
123- expect (caretOffset.dx, 112 ); // 🇸
123+ expect (caretOffset.dx, 98 ); // <medium skin tone modifier>
124124 caretOffset = painter.getOffsetForCaret (const ui.TextPosition (offset: 22 ), ui.Rect .zero);
125- expect (caretOffset.dx, 112 ); // 🇸
125+ expect (caretOffset.dx, 98 ); // <medium skin tone modifier>
126+ caretOffset = painter.getOffsetForCaret (const ui.TextPosition (offset: 23 ), ui.Rect .zero);
127+ expect (caretOffset.dx, 126 ); // end of string
126128 }, skip: isBrowser); // https://github.com/flutter/flutter/issues/56308
127129
128130 test ('TextPainter caret center space test' , () {
0 commit comments