diff --git a/packages/flutter/test/painting/decoration_test.dart b/packages/flutter/test/painting/decoration_test.dart
index 44dfefd908..4a944b8568 100644
--- a/packages/flutter/test/painting/decoration_test.dart
+++ b/packages/flutter/test/painting/decoration_test.dart
@@ -360,7 +360,7 @@ void main() {
' The ImageConfiguration was:\n'
' ImageConfiguration(size: Size(100.0, 100.0))\n',
);
- }, skip: kIsWeb);
+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87364
test('DecorationImage - error listener', () async {
late String exception;
@@ -707,5 +707,5 @@ void main() {
expect(info.image.debugGetOpenHandleStackTraces()!.length, baselineRefCount);
info.dispose();
- }, skip: kIsWeb);
+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87442
}
diff --git a/packages/flutter/test/painting/gradient_test.dart b/packages/flutter/test/painting/gradient_test.dart
index ef40c5c65d..406977e348 100644
--- a/packages/flutter/test/painting/gradient_test.dart
+++ b/packages/flutter/test/painting/gradient_test.dart
@@ -816,7 +816,7 @@ void main() {
for (final Gradient gradient in gradients45) {
testWidgets('$gradient', (WidgetTester tester) async {
await runTest(tester, gradient, 45);
- }, skip: isBrowser); // https://github.com/flutter/flutter/issues/41389
+ });
}
});
@@ -824,7 +824,7 @@ void main() {
for (final Gradient gradient in gradients90) {
testWidgets('$gradient', (WidgetTester tester) async {
await runTest(tester, gradient, 90);
- }, skip: isBrowser); // https://github.com/flutter/flutter/issues/41389
+ });
}
});
});
diff --git a/packages/flutter/test/painting/image_cache_test.dart b/packages/flutter/test/painting/image_cache_test.dart
index 2b70b8fb26..36290d15e0 100644
--- a/packages/flutter/test/painting/image_cache_test.dart
+++ b/packages/flutter/test/painting/image_cache_test.dart
@@ -536,7 +536,7 @@ void main() {
imageInfo.dispose();
expect(testImage.debugGetOpenHandleStackTraces()!.length, 0);
- }, skip: kIsWeb); // Web does not care about image handles.
+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87442
test('Image is obtained and disposed of properly for cache when listener is still active', () async {
const int key = 1;
@@ -575,5 +575,5 @@ void main() {
expect(testImage.debugGetOpenHandleStackTraces()!.length, 1);
imageInfo.dispose();
expect(testImage.debugGetOpenHandleStackTraces()!.length, 0);
- }, skip: kIsWeb); // Web does not care about open image handles.
+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87442
}
diff --git a/packages/flutter/test/painting/image_provider_network_image_test.dart b/packages/flutter/test/painting/image_provider_network_image_test.dart
index 8c3c64b660..09664b26d9 100644
--- a/packages/flutter/test/painting/image_provider_network_image_test.dart
+++ b/packages/flutter/test/painting/image_provider_network_image_test.dart
@@ -69,7 +69,7 @@ void main() {
.having((NetworkImageLoadException e) => e.uri, 'uri', Uri.base.resolve(requestUrl)),
);
expect(httpClient.request.response.drained, true);
- }, skip: isBrowser); // Browser implementation does not use HTTP client but an
tag.
+ }, skip: isBrowser); // [intended] Browser implementation does not use HTTP client but an
tag.
test('Uses the HttpClient provided by debugNetworkImageHttpClientProvider if set', () async {
httpClient.thrownError = 'client1';
@@ -94,7 +94,7 @@ void main() {
debugNetworkImageHttpClientProvider = () => client2;
await loadNetworkImage();
expect(capturedErrors, ['client1', 'client2']);
- }, skip: isBrowser); // Browser implementation does not use HTTP client but an
tag.
+ }, skip: isBrowser); // [intended] Browser implementation does not use HTTP client but an
tag.
test('Propagates http client errors during resolve()', () async {
httpClient.thrownError = Error();
@@ -155,7 +155,7 @@ void main() {
expect(events[i].cumulativeBytesLoaded, math.min((i + 1) * chunkSize, kTransparentImage.length));
expect(events[i].expectedTotalBytes, kTransparentImage.length);
}
- }, skip: isBrowser); // Browser loads images through
not Http.
+ }, skip: isBrowser); // [intended] Browser loads images through
not Http.
test('NetworkImage is evicted from cache on SocketException', () async {
final _FakeHttpClient mockHttpClient = _FakeHttpClient();
@@ -187,7 +187,7 @@ void main() {
expect(imageCache!.containsKey(result), isFalse);
debugNetworkImageHttpClientProvider = null;
- }, skip: isBrowser); // Browser does not resolve images this way.
+ }, skip: isBrowser); // [intended] Browser does not resolve images this way.
Future _decoder(Uint8List bytes, {int? cacheWidth, int? cacheHeight, bool? allowUpscaling}) async {
return FakeCodec();
diff --git a/packages/flutter/test/painting/shader_warm_up_test.dart b/packages/flutter/test/painting/shader_warm_up_test.dart
index 54e2d7b305..c6b80d31f9 100644
--- a/packages/flutter/test/painting/shader_warm_up_test.dart
+++ b/packages/flutter/test/painting/shader_warm_up_test.dart
@@ -57,5 +57,5 @@ void main() {
throwsA(isA().having((String message) => message, 'message', 'Object has been disposed.')),
);
expect(capturedImage.debugDisposed, true);
- }, skip: kIsWeb); // Browser doesn't support approximateBytesUsed and doesn't rasterize the picture at this time.
+ }, skip: kIsWeb); // [intended] Browser doesn't support approximateBytesUsed and doesn't rasterize the picture at this time.
}
diff --git a/packages/flutter/test/painting/text_painter_rtl_test.dart b/packages/flutter/test/painting/text_painter_rtl_test.dart
index b443a01025..98d8d75afc 100644
--- a/packages/flutter/test/painting/text_painter_rtl_test.dart
+++ b/packages/flutter/test/painting/text_painter_rtl_test.dart
@@ -51,9 +51,9 @@ void main() {
// to be part of the word sometimes and not others, which is fine, but we'd mildly prefer if
// we were consistently considering them part of words always.
final TextRange hebrew1 = painter.getWordBoundary(const TextPosition(offset: 4, affinity: TextAffinity.downstream));
- expect(hebrew1, const TextRange(start: 0, end: 8), skip: skipExpectsWithKnownBugs);
+ expect(hebrew1, const TextRange(start: 0, end: 8), skip: skipExpectsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
final TextRange english2 = painter.getWordBoundary(const TextPosition(offset: 14, affinity: TextAffinity.downstream));
- expect(english2, const TextRange(start: 9, end: 19), skip: skipExpectsWithKnownBugs);
+ expect(english2, const TextRange(start: 9, end: 19), skip: skipExpectsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
final TextRange hebrew3 = painter.getWordBoundary(const TextPosition(offset: 24, affinity: TextAffinity.downstream));
expect(hebrew3, const TextRange(start: 20, end: 28));
@@ -163,8 +163,8 @@ void main() {
[], // U+202C, non-printing Unicode bidi formatting character
// The list currently has one extra bogus entry (the last entry, for the
// trailing U+202C PDF, should be empty but is one-pixel-wide instead).
- ], skip: skipExpectsWithKnownBugs);
- }, skip: skipTestsWithKnownBugs);
+ ], skip: skipExpectsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - bidi overrides in RTL', () {
final TextPainter painter = TextPainter()
@@ -180,9 +180,9 @@ void main() {
painter.layout();
final TextRange hebrew1 = painter.getWordBoundary(const TextPosition(offset: 4, affinity: TextAffinity.downstream));
- expect(hebrew1, const TextRange(start: 0, end: 8), skip: skipExpectsWithKnownBugs);
+ expect(hebrew1, const TextRange(start: 0, end: 8), skip: skipExpectsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
final TextRange english2 = painter.getWordBoundary(const TextPosition(offset: 14, affinity: TextAffinity.downstream));
- expect(english2, const TextRange(start: 9, end: 19), skip: skipExpectsWithKnownBugs);
+ expect(english2, const TextRange(start: 9, end: 19), skip: skipExpectsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
final TextRange hebrew3 = painter.getWordBoundary(const TextPosition(offset: 24, affinity: TextAffinity.downstream));
expect(hebrew3, const TextRange(start: 20, end: 28));
@@ -253,9 +253,9 @@ void main() {
],
// Horizontal offsets are currently one pixel off in places; vertical offsets are good.
// The list is currently in the wrong order (so selection boxes will paint in the wrong order).
- skip: skipExpectsWithKnownBugs,
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - forced line-wrapping with bidi', () {
final TextPainter painter = TextPainter()
@@ -353,9 +353,10 @@ void main() {
TextBox.fromLTRBD( 0.0, 20.0, 60.0, 40.0, TextDirection.ltr),
TextBox.fromLTRBD(60.0, 28.0, 110.0, 38.0, TextDirection.ltr),
],
- skip: skipExpectsWithKnownBugs, // horizontal offsets are one pixel off in places; vertical offsets are good
+ // horizontal offsets are one pixel off in places; vertical offsets are good
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - line wrap mid-word, bidi - LTR base', () {
final TextPainter painter = TextPainter()
@@ -386,7 +387,8 @@ void main() {
TextBox.fromLTRBD( 0.0, 20.0, 40.0, 40.0, TextDirection.rtl),
TextBox.fromLTRBD(40.0, 28.0, 90.0, 38.0, TextDirection.ltr),
],
- skip: skipExpectsWithKnownBugs, // horizontal offsets are one pixel off in places; vertical offsets are good
+ // horizontal offsets are one pixel off in places; vertical offsets are good
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
final List> list = >[
@@ -410,7 +412,7 @@ void main() {
[TextBox.fromLTRBD(70.0, 28.0, 80.0, 38.0, TextDirection.ltr)],
[TextBox.fromLTRBD(80.0, 28.0, 90.0, 38.0, TextDirection.ltr)],
]);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - line wrap mid-word, bidi - RTL base', () {
final TextPainter painter = TextPainter()
@@ -443,9 +445,9 @@ void main() {
],
// Horizontal offsets are currently one pixel off in places; vertical offsets are good.
// The list is currently in the wrong order (so selection boxes will paint in the wrong order).
- skip: skipExpectsWithKnownBugs,
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - multiple levels', () {
final TextPainter painter = TextPainter()
@@ -474,9 +476,9 @@ void main() {
// Horizontal offsets are currently one pixel off in places; vertical offsets are good.
// The list is currently in the wrong order (so selection boxes will paint in the wrong order).
// Also currently there's an extraneous box at the start of the list.
- skip: skipExpectsWithKnownBugs,
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - getPositionForOffset - RTL in LTR', () {
final TextPainter painter = TextPainter()
@@ -518,7 +520,8 @@ void main() {
// ^
painter.getPositionForOffset(const Offset(12.0, 5.0)).toString(),
const TextPosition(offset: 1, affinity: TextAffinity.downstream).toString(),
- skip: skipExpectsWithKnownBugs, // currently we say upstream instead of downstream
+ // currently we say upstream instead of downstream
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
expect(
// Aaa Bbb Ccc Gimel Bet Alef Ddd Eee Fff
@@ -558,7 +561,7 @@ void main() {
painter.getPositionForOffset(const Offset(100.0, 5.0)).toString(),
const TextPosition(offset: 9, affinity: TextAffinity.upstream).toString(),
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - getPositionForOffset - LTR in RTL', () {
final TextPainter painter = TextPainter()
@@ -603,7 +606,7 @@ void main() {
painter.getPositionForOffset(const Offset(62.0, 5.0)).toString(),
const TextPosition(offset: 3, affinity: TextAffinity.upstream).toString(),
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - Spaces', () {
final TextPainter painter = TextPainter()
@@ -651,7 +654,7 @@ void main() {
expect(painter.width, 410.0);
expect(painter.height, 200.0);
- expect(painter.computeDistanceToActualBaseline(TextBaseline.alphabetic), 160.0);
+ expect(painter.computeDistanceToActualBaseline(TextBaseline.alphabetic), moreOrLessEquals(160.0, epsilon: 0.001));
expect(painter.preferredLineHeight, 100.0);
expect(
@@ -662,9 +665,9 @@ void main() {
TextBox.fromLTRBD(110.0, 0.0, 310.0, 200.0, TextDirection.ltr),
],
// Horizontal offsets are currently one pixel off in places; vertical offsets are good.
- skip: skipExpectsWithKnownBugs,
+ skip: skipExpectsWithKnownBugs, // https://github.com/flutter/flutter/issues/87536
);
- }, skip: skipTestsWithKnownBugs);
+ }, skip: skipTestsWithKnownBugs); // https://github.com/flutter/flutter/issues/87536
test('TextPainter - empty text baseline', () {
final TextPainter painter = TextPainter()
@@ -674,14 +677,9 @@ void main() {
style: TextStyle(fontFamily: 'Ahem', fontSize: 100.0, height: 1.0),
);
painter.layout();
- expect(
- // Returns -1
- painter.computeDistanceToActualBaseline(TextBaseline.alphabetic), 80.0,
- skip: skipExpectsWithKnownBugs,
- );
- }, skip: skipTestsWithKnownBugs);
+ expect(painter.computeDistanceToActualBaseline(TextBaseline.alphabetic), moreOrLessEquals(80.0, epsilon: 0.001));
+ });
}
-
String lro(String s) => '${Unicode.LRO}L${s}L${Unicode.PDF}';
String rlo(String s) => '${Unicode.RLO}R${s}R${Unicode.PDF}';
diff --git a/packages/flutter/test/painting/text_painter_test.dart b/packages/flutter/test/painting/text_painter_test.dart
index 2d55829a96..fd31f5fc1c 100644
--- a/packages/flutter/test/painting/text_painter_test.dart
+++ b/packages/flutter/test/painting/text_painter_test.dart
@@ -746,7 +746,7 @@ void main() {
expect(painter.inlinePlaceholderBoxes![11], const TextBox.fromLTRBD(250, 30, 300, 60, TextDirection.ltr));
expect(painter.inlinePlaceholderBoxes![12], const TextBox.fromLTRBD(300, 30, 351, 60, TextDirection.ltr));
expect(painter.inlinePlaceholderBoxes![13], const TextBox.fromLTRBD(351, 30, 401, 60, TextDirection.ltr));
- }, skip: isBrowser && !isCanvasKit); // https://github.com/flutter/flutter/issues/42086
+ }, skip: isBrowser && !isCanvasKit); // https://github.com/flutter/flutter/issues/87540
// Null values are valid. See https://github.com/flutter/flutter/pull/48346#issuecomment-584839221
test('TextPainter set TextHeightBehavior null test', () {
@@ -955,7 +955,7 @@ void main() {
).first.toRect();
expect(glyphBox, newGlyphBox);
});
- }, skip: isBrowser && !isCanvasKit);
+ }, skip: isBrowser && !isCanvasKit); // https://github.com/flutter/flutter/issues/87543
test('TextPainter handles invalid UTF-16', () {
Object? exception;
@@ -973,7 +973,7 @@ void main() {
// The layout should include one replacement character.
expect(painter.width, equals(fontSize));
expect(exception, isNotNull);
- }, skip: kIsWeb);
+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87544
test('Diacritic', () {
final TextPainter painter = TextPainter()
@@ -989,7 +989,7 @@ void main() {
offset: text.length, affinity: TextAffinity.upstream),
ui.Rect.zero);
expect(caretOffset.dx, painter.width);
- }, skip: kIsWeb && !isCanvasKit);
+ }, skip: kIsWeb && !isCanvasKit); // https://github.com/flutter/flutter/issues/87545
}
class MockCanvas extends Fake implements Canvas {