@@ -8,7 +8,7 @@ import 'package:ui/ui.dart';
8
8
import 'package:test/test.dart' ;
9
9
10
10
void testEachMeasurement (String description, VoidCallback body, {bool skip}) {
11
- test ('$ description (dom measurement)' , () async {
11
+ test (description, () async {
12
12
try {
13
13
TextMeasurementService .initialize (rulerCacheCapacity: 2 );
14
14
return body ();
@@ -130,154 +130,6 @@ void main() async {
130
130
}, // TODO(nurhan): https://github.com/flutter/flutter/issues/46638
131
131
skip: (browserEngine == BrowserEngine .firefox));
132
132
133
- testEachMeasurement ('getPositionForOffset single-line' , () {
134
- final ParagraphBuilder builder = ParagraphBuilder (ParagraphStyle (
135
- fontFamily: 'Ahem' ,
136
- fontStyle: FontStyle .normal,
137
- fontWeight: FontWeight .normal,
138
- fontSize: 10 ,
139
- textDirection: TextDirection .ltr,
140
- ));
141
- builder.addText ('abcd efg' );
142
- final Paragraph paragraph = builder.build ();
143
- paragraph.layout (const ParagraphConstraints (width: 1000 ));
144
-
145
- // At the beginning of the line.
146
- expect (
147
- paragraph.getPositionForOffset (Offset (0 , 5 )),
148
- TextPosition (offset: 0 , affinity: TextAffinity .downstream),
149
- );
150
- // Below the line.
151
- expect (
152
- paragraph.getPositionForOffset (Offset (0 , 12 )),
153
- TextPosition (offset: 8 , affinity: TextAffinity .upstream),
154
- );
155
- // Above the line.
156
- expect (
157
- paragraph.getPositionForOffset (Offset (0 , - 5 )),
158
- TextPosition (offset: 0 , affinity: TextAffinity .downstream),
159
- );
160
- // At the end of the line.
161
- expect (
162
- paragraph.getPositionForOffset (Offset (80 , 5 )),
163
- TextPosition (offset: 8 , affinity: TextAffinity .upstream),
164
- );
165
- // On the left side of "b".
166
- expect (
167
- paragraph.getPositionForOffset (Offset (14 , 5 )),
168
- TextPosition (offset: 1 , affinity: TextAffinity .downstream),
169
- );
170
- // On the right side of "b".
171
- expect (
172
- paragraph.getPositionForOffset (Offset (16 , 5 )),
173
- TextPosition (offset: 2 , affinity: TextAffinity .upstream),
174
- );
175
- });
176
-
177
- test ('getPositionForOffset multi-line' , () {
178
- // [Paragraph.getPositionForOffset] for multi-line text doesn't work well
179
- // with dom-based measurement.
180
- TextMeasurementService .enableExperimentalCanvasImplementation = true ;
181
- TextMeasurementService .initialize (rulerCacheCapacity: 2 );
182
-
183
- final ParagraphBuilder builder = ParagraphBuilder (ParagraphStyle (
184
- fontFamily: 'Ahem' ,
185
- fontStyle: FontStyle .normal,
186
- fontWeight: FontWeight .normal,
187
- fontSize: 10 ,
188
- textDirection: TextDirection .ltr,
189
- ));
190
- builder.addText ('abcd\n ' );
191
- builder.addText ('abcdefg\n ' );
192
- builder.addText ('ab' );
193
- final Paragraph paragraph = builder.build ();
194
- paragraph.layout (const ParagraphConstraints (width: 1000 ));
195
-
196
- // First line: "abcd\n"
197
-
198
- // At the beginning of the first line.
199
- expect (
200
- paragraph.getPositionForOffset (Offset (0 , 5 )),
201
- TextPosition (offset: 0 , affinity: TextAffinity .downstream),
202
- );
203
- // Above the first line.
204
- expect (
205
- paragraph.getPositionForOffset (Offset (0 , - 5 )),
206
- TextPosition (offset: 0 , affinity: TextAffinity .downstream),
207
- );
208
- // At the end of the first line.
209
- expect (
210
- paragraph.getPositionForOffset (Offset (50 , 5 )),
211
- TextPosition (offset: 5 , affinity: TextAffinity .upstream),
212
- );
213
- // On the left side of "b" in the first line.
214
- expect (
215
- paragraph.getPositionForOffset (Offset (14 , 5 )),
216
- TextPosition (offset: 1 , affinity: TextAffinity .downstream),
217
- );
218
- // On the right side of "b" in the first line.
219
- expect (
220
- paragraph.getPositionForOffset (Offset (16 , 5 )),
221
- TextPosition (offset: 2 , affinity: TextAffinity .upstream),
222
- );
223
-
224
-
225
- // Second line: "abcdefg\n"
226
-
227
- // At the beginning of the second line.
228
- expect (
229
- paragraph.getPositionForOffset (Offset (0 , 15 )),
230
- TextPosition (offset: 5 , affinity: TextAffinity .downstream),
231
- );
232
- // At the end of the second line.
233
- expect (
234
- paragraph.getPositionForOffset (Offset (100 , 15 )),
235
- TextPosition (offset: 13 , affinity: TextAffinity .upstream),
236
- );
237
- // On the left side of "e" in the second line.
238
- expect (
239
- paragraph.getPositionForOffset (Offset (44 , 15 )),
240
- TextPosition (offset: 9 , affinity: TextAffinity .downstream),
241
- );
242
- // On the right side of "e" in the second line.
243
- expect (
244
- paragraph.getPositionForOffset (Offset (46 , 15 )),
245
- TextPosition (offset: 10 , affinity: TextAffinity .upstream),
246
- );
247
-
248
-
249
- // Last (third) line: "ab"
250
-
251
- // At the beginning of the last line.
252
- expect (
253
- paragraph.getPositionForOffset (Offset (0 , 25 )),
254
- TextPosition (offset: 13 , affinity: TextAffinity .downstream),
255
- );
256
- // At the end of the last line.
257
- expect (
258
- paragraph.getPositionForOffset (Offset (40 , 25 )),
259
- TextPosition (offset: 15 , affinity: TextAffinity .upstream),
260
- );
261
- // Below the last line.
262
- expect (
263
- paragraph.getPositionForOffset (Offset (0 , 32 )),
264
- TextPosition (offset: 15 , affinity: TextAffinity .upstream),
265
- );
266
- // On the left side of "b" in the last line.
267
- expect (
268
- paragraph.getPositionForOffset (Offset (12 , 25 )),
269
- TextPosition (offset: 14 , affinity: TextAffinity .downstream),
270
- );
271
- // On the right side of "a" in the last line.
272
- expect (
273
- paragraph.getPositionForOffset (Offset (9 , 25 )),
274
- TextPosition (offset: 14 , affinity: TextAffinity .upstream),
275
- );
276
-
277
- TextMeasurementService .clearCache ();
278
- TextMeasurementService .enableExperimentalCanvasImplementation = false ;
279
- });
280
-
281
133
testEachMeasurement ('getBoxesForRange returns a box' , () {
282
134
final ParagraphBuilder builder = ParagraphBuilder (ParagraphStyle (
283
135
fontFamily: 'Ahem' ,
0 commit comments