Compatibility pass on flutter/painting tests for JavaScript compilation. (3) (#33352)
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 26d35d9..23d2b9e 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -343,6 +343,7 @@
Future<void> _runWebTests() async {
await _runFlutterWebTest(path.join(flutterRoot, 'packages', 'flutter'), expectFailure: false, tests: <String>[
'test/foundation/',
+ 'test/painting/',
'test/scheduler/',
]);
}
diff --git a/packages/flutter/lib/src/painting/box_shadow.dart b/packages/flutter/lib/src/painting/box_shadow.dart
index 1b2715b..04a86e1 100644
--- a/packages/flutter/lib/src/painting/box_shadow.dart
+++ b/packages/flutter/lib/src/painting/box_shadow.dart
@@ -131,5 +131,5 @@
int get hashCode => hashValues(color, offset, blurRadius, spreadRadius);
@override
- String toString() => 'BoxShadow($color, $offset, $blurRadius, $spreadRadius)';
+ String toString() => 'BoxShadow($color, $offset, ${debugFormatDouble(blurRadius)}, ${debugFormatDouble(spreadRadius)})';
}
diff --git a/packages/flutter/test/painting/beveled_rectangle_border_test.dart b/packages/flutter/test/painting/beveled_rectangle_border_test.dart
index 9417741..3dc442e 100644
--- a/packages/flutter/test/painting/beveled_rectangle_border_test.dart
+++ b/packages/flutter/test/painting/beveled_rectangle_border_test.dart
@@ -42,7 +42,7 @@
const BorderSide side = BorderSide(width: 4.0);
expect(const BeveledRectangleBorder(side: side).getOuterPath(rect1), looksLikeRect1);
expect(const BeveledRectangleBorder(side: side).getInnerPath(rect1), looksLikeInnerPath);
- });
+ }, skip: isBrowser);
test('BeveledRectangleBorder non-zero BorderRadius', () {
const Rect rect = Rect.fromLTRB(10.0, 20.0, 30.0, 40.0);
@@ -55,6 +55,6 @@
);
expect(border.getOuterPath(rect), looksLikeRect);
expect(border.getInnerPath(rect), looksLikeRect);
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/painting/border_rtl_test.dart b/packages/flutter/test/painting/border_rtl_test.dart
index 8af690c..2ae2de3 100644
--- a/packages/flutter/test/painting/border_rtl_test.dart
+++ b/packages/flutter/test/painting/border_rtl_test.dart
@@ -314,14 +314,14 @@
],
),
);
- });
+ }, skip: isBrowser);
test('BorderDirectional constructor', () {
expect(() => BorderDirectional(top: nonconst(null)), throwsAssertionError);
expect(() => BorderDirectional(start: nonconst(null)), throwsAssertionError);
expect(() => BorderDirectional(end: nonconst(null)), throwsAssertionError);
expect(() => BorderDirectional(bottom: nonconst(null)), throwsAssertionError);
- });
+ }, skip: isBrowser);
test('BorderDirectional.merge', () {
const BorderSide magenta3 = BorderSide(color: Color(0xFFFF00FF), width: 3.0);
@@ -360,7 +360,7 @@
),
throwsAssertionError,
);
- });
+ }, skip: isBrowser);
test('BorderDirectional.dimensions', () {
expect(
@@ -372,7 +372,7 @@
).dimensions,
const EdgeInsetsDirectional.fromSTEB(2.0, 3.0, 7.0, 5.0),
);
- });
+ }, skip: isBrowser);
test('BorderDirectional.isUniform', () {
expect(
@@ -442,7 +442,7 @@
const BorderDirectional().isUniform,
true,
);
- });
+ }, skip: isBrowser);
test('BorderDirectional.add - all directional', () {
const BorderSide magenta3 = BorderSide(color: Color(0xFFFF00FF), width: 3.0);
@@ -478,7 +478,7 @@
expect(bZ + bZ, bZ);
expect(b0 + bZ, bZ);
expect(bZ + b0, bZ);
- });
+ }, skip: isBrowser);
test('BorderDirectional.add', () {
const BorderSide side1 = BorderSide(color: Color(0x11111111));
@@ -530,7 +530,7 @@
expect((borderDirectionalWithStart + borderWithoutSides).toString(), '${const BorderDirectional(start: side1, top: doubleSide2, bottom: doubleSide2)}');
expect((borderDirectionalWithEnd + borderWithoutSides).toString(), '${const BorderDirectional(end: side1, top: doubleSide2, bottom: doubleSide2)}');
expect((borderDirectionalWithoutSides + borderWithoutSides).toString(), '${const Border(top: doubleSide2, bottom: doubleSide2)}');
- });
+ }, skip: isBrowser);
test('BorderDirectional.scale', () {
const BorderSide magenta3 = BorderSide(color: Color(0xFFFF00FF), width: 3.0);
@@ -544,7 +544,7 @@
expect(bY0.scale(3.0), bY0);
const BorderDirectional bY2 = BorderDirectional(top: yellow2);
expect(bY2.scale(0.0), bY0);
- });
+ }, skip: isBrowser);
test('BorderDirectional.lerp', () {
const BorderDirectional directionalWithTop10 = BorderDirectional(top: BorderSide(width: 10.0));
@@ -618,7 +618,7 @@
},
paintsAssertion, // no TextDirection
);
- });
+ }, skip: isBrowser);
test('BorderDirectional hashCode', () {
final BorderSide side = BorderSide(width: nonconst(2.0));
@@ -668,5 +668,5 @@
expect(decoration2.padding, const EdgeInsetsDirectional.fromSTEB(2.0, 0.0, 0.0, 0.0));
expect(decoration2.scale(2.0), decoration4);
expect(BoxDecoration.lerp(decoration2, decoration6, 0.5), decoration4);
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/painting/circle_border_test.dart b/packages/flutter/test/painting/circle_border_test.dart
index 232c2cb..d1ab6d0 100644
--- a/packages/flutter/test/painting/circle_border_test.dart
+++ b/packages/flutter/test/painting/circle_border_test.dart
@@ -26,5 +26,5 @@
paints
..circle(x: 25.0, y: 40.0, radius: 10.0, strokeWidth: 10.0),
);
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/painting/continous_rectangle_border_test.dart b/packages/flutter/test/painting/continous_rectangle_border_test.dart
index ae039f6..7e648f8 100644
--- a/packages/flutter/test/painting/continous_rectangle_border_test.dart
+++ b/packages/flutter/test/painting/continous_rectangle_border_test.dart
@@ -42,7 +42,7 @@
const BorderSide side = BorderSide(width: 4.0);
expect(const ContinuousRectangleBorder(side: side).getOuterPath(rect1), looksLikeRect1);
expect(const ContinuousRectangleBorder(side: side).getInnerPath(rect1), looksLikeInnerPath);
- });
+ }, skip: isBrowser);
test('ContinuousRectangleBorder non-zero BorderRadius', () {
const Rect rect = Rect.fromLTRB(10.0, 20.0, 30.0, 40.0);
@@ -55,7 +55,7 @@
);
expect(border.getOuterPath(rect), looksLikeRect);
expect(border.getInnerPath(rect), looksLikeRect);
- });
+ }, skip: isBrowser);
testWidgets('Golden test even radii', (WidgetTester tester) async {
await tester.pumpWidget(RepaintBoundary(
@@ -74,7 +74,7 @@
matchesGoldenFile('continuous_rectangle_border.golden_test_even_radii.png'),
skip: !isLinux,
);
- });
+ }, skip: isBrowser);
testWidgets('Golden test varying radii', (WidgetTester tester) async {
await tester.pumpWidget(RepaintBoundary(
@@ -96,7 +96,7 @@
matchesGoldenFile('continuous_rectangle_border.golden_test_varying_radii.png'),
skip: !isLinux,
);
- });
+ }, skip: isBrowser);
testWidgets('Golden test large radii', (WidgetTester tester) async {
await tester.pumpWidget(RepaintBoundary(
@@ -115,6 +115,6 @@
matchesGoldenFile('continuous_rectangle_border.golden_test_large_radii.png'),
skip: !isLinux,
);
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/painting/decoration_test.dart b/packages/flutter/test/painting/decoration_test.dart
index 9c0609d..c5ae1e5 100644
--- a/packages/flutter/test/painting/decoration_test.dart
+++ b/packages/flutter/test/painting/decoration_test.dart
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+@TestOn('!chrome')
import 'dart:async';
import 'dart:typed_data';
import 'dart:ui' as ui show Image, ImageByteFormat, ColorFilter;
diff --git a/packages/flutter/test/painting/image_cache_test.dart b/packages/flutter/test/painting/image_cache_test.dart
index 0b5b33c..13b14bf 100644
--- a/packages/flutter/test/painting/image_cache_test.dart
+++ b/packages/flutter/test/painting/image_cache_test.dart
@@ -9,8 +9,11 @@
import 'mocks_for_image_cache.dart';
void main() {
- TestRenderingFlutterBinding(); // initializes the imageCache
group(ImageCache, () {
+ setUpAll(() {
+ TestRenderingFlutterBinding(); // initializes the imageCache
+ });
+
tearDown(() {
imageCache.clear();
imageCache.maximumSize = 1000;
diff --git a/packages/flutter/test/painting/image_provider_test.dart b/packages/flutter/test/painting/image_provider_test.dart
index 769952e..448330b 100644
--- a/packages/flutter/test/painting/image_provider_test.dart
+++ b/packages/flutter/test/painting/image_provider_test.dart
@@ -175,7 +175,7 @@
debugNetworkImageHttpClientProvider = () => client2;
await loadNetworkImage();
expect(capturedErrors, <dynamic>['client1', 'client2']);
- });
+ }, skip: isBrowser);
test('Propagates http client errors during resolve()', () async {
when(httpClient.getUrl(any)).thenThrow(Error());
diff --git a/packages/flutter/test/painting/image_resolution_test.dart b/packages/flutter/test/painting/image_resolution_test.dart
index 7208645..2d22052 100644
--- a/packages/flutter/test/painting/image_resolution_test.dart
+++ b/packages/flutter/test/painting/image_resolution_test.dart
@@ -147,7 +147,7 @@
expect(bundleKey.scale, 1.0);
}));
});
- });
+ }, skip: isBrowser);
group('Regression - When assets available are 1.0 and 3.0 check devices with a range of scales', () {
const String mainAssetPath = 'assets/normalFolder/normalFile.png';
@@ -203,6 +203,6 @@
test('Typical case 4.0', () {
_buildBundleAndTestVariantLogic(4.0, 3.0, variantPath);
});
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/painting/notched_shapes_test.dart b/packages/flutter/test/painting/notched_shapes_test.dart
index 35d674a..05b991e 100644
--- a/packages/flutter/test/painting/notched_shapes_test.dart
+++ b/packages/flutter/test/painting/notched_shapes_test.dart
@@ -81,7 +81,7 @@
sampleSize: 100,
),
);
- });
+ }, skip: isBrowser);
test('AutomaticNotchedShape - no guest', () {
expect(
diff --git a/packages/flutter/test/painting/rounded_rectangle_border_test.dart b/packages/flutter/test/painting/rounded_rectangle_border_test.dart
index 6b1fd24..9fa7d1f 100644
--- a/packages/flutter/test/painting/rounded_rectangle_border_test.dart
+++ b/packages/flutter/test/painting/rounded_rectangle_border_test.dart
@@ -91,5 +91,5 @@
expect(direct50, indirect50);
expect(direct50.hashCode, indirect50.hashCode);
expect(direct50.toString(), indirect50.toString());
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/painting/stadium_border_test.dart b/packages/flutter/test/painting/stadium_border_test.dart
index 9326e27..6739d88 100644
--- a/packages/flutter/test/painting/stadium_border_test.dart
+++ b/packages/flutter/test/painting/stadium_border_test.dart
@@ -84,7 +84,7 @@
expect(direct50, indirect50);
expect(direct50.hashCode, indirect50.hashCode);
expect(direct50.toString(), indirect50.toString());
- });
+ }, skip: isBrowser);
test('StadiumBorder and RoundedRectBorder', () {
const StadiumBorder stadium = StadiumBorder(side: BorderSide.none);
diff --git a/packages/flutter/test/painting/text_painter_test.dart b/packages/flutter/test/painting/text_painter_test.dart
index cfa5f56..1c354f6 100644
--- a/packages/flutter/test/painting/text_painter_test.dart
+++ b/packages/flutter/test/painting/text_painter_test.dart
@@ -31,7 +31,7 @@
painter.layout();
caretOffset = painter.getOffsetForCaret(ui.TextPosition(offset: text.length), ui.Rect.zero);
expect(caretOffset.dx, painter.width);
- });
+ }, skip: isBrowser);
test('TextPainter null text test', () {
final TextPainter painter = TextPainter()
@@ -56,7 +56,7 @@
expect(caretOffset.dx, 0);
caretOffset = painter.getOffsetForCaret(const ui.TextPosition(offset: 1), ui.Rect.zero);
expect(caretOffset.dx, 0);
- });
+ }, skip: isBrowser);
test('TextPainter caret emoji test', () {
final TextPainter painter = TextPainter()
@@ -120,7 +120,7 @@
expect(caretOffset.dx, 112); // 🇸
caretOffset = painter.getOffsetForCaret(const ui.TextPosition(offset: 22), ui.Rect.zero);
expect(caretOffset.dx, 112); // 🇸
- });
+ }, skip: isBrowser);
test('TextPainter caret center space test', () {
final TextPainter painter = TextPainter()
@@ -142,7 +142,7 @@
expect(caretOffset.dx, 35);
caretOffset = painter.getOffsetForCaret(const ui.TextPosition(offset: 2), ui.Rect.zero);
expect(caretOffset.dx, 49);
- });
+ }, skip: isBrowser);
test('TextPainter error test', () {
final TextPainter painter = TextPainter(textDirection: TextDirection.ltr);
@@ -170,7 +170,7 @@
);
painter.layout();
expect(painter.size, const Size(123.0, 123.0));
- });
+ }, skip: isBrowser);
test('TextPainter textScaleFactor test', () {
final TextPainter painter = TextPainter(
@@ -187,7 +187,7 @@
);
painter.layout();
expect(painter.size, const Size(20.0, 20.0));
- });
+ }, skip: isBrowser);
test('TextPainter default text height is 14 pixels', () {
final TextPainter painter = TextPainter(
@@ -197,7 +197,7 @@
painter.layout();
expect(painter.preferredLineHeight, 14.0);
expect(painter.size, const Size(14.0, 14.0));
- });
+ }, skip: isBrowser);
test('TextPainter sets paragraph size from root', () {
final TextPainter painter = TextPainter(
@@ -207,7 +207,7 @@
painter.layout();
expect(painter.preferredLineHeight, 100.0);
expect(painter.size, const Size(100.0, 100.0));
- });
+ }, skip: isBrowser);
test('TextPainter intrinsic dimensions', () {
const TextStyle style = TextStyle(
@@ -634,7 +634,7 @@
);
expect(caretOffset.dx, closeTo(0.0, 0.0001));
expect(caretOffset.dy, closeTo(0.0, 0.0001));
- });
+ }, skip: isBrowser);
test('TextPainter widget span', () {
final TextPainter painter = TextPainter()
@@ -728,5 +728,5 @@
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);
}
diff --git a/packages/flutter/test/painting/text_style_test.dart b/packages/flutter/test/painting/text_style_test.dart
index c88f6fd..43512dc 100644
--- a/packages/flutter/test/painting/text_style_test.dart
+++ b/packages/flutter/test/painting/text_style_test.dart
@@ -180,7 +180,7 @@
final ui.ParagraphStyle ps5 = s5.getParagraphStyle();
expect(ps5, equals(ui.ParagraphStyle(fontWeight: FontWeight.w700, fontSize: 12.0, height: 123.0)));
expect(ps5.toString(), 'ParagraphStyle(textAlign: unspecified, textDirection: unspecified, fontWeight: FontWeight.w700, fontStyle: unspecified, maxLines: unspecified, fontFamily: unspecified, fontSize: 12.0, height: 123.0x, ellipsis: unspecified, locale: unspecified)');
- });
+ }, skip: isBrowser);
test('TextStyle with text direction', () {
@@ -212,7 +212,7 @@
const TextStyle s10 = TextStyle(fontFamilyFallback: <String>[], package: 'p');
expect(s10.fontFamilyFallback, <String>[]);
- });
+ }, skip: isBrowser);
test('TextStyle font family fallback', () {
const TextStyle s1 = TextStyle(fontFamilyFallback: <String>['Roboto', 'test']);
@@ -237,7 +237,7 @@
final ui.TextStyle uis1 = s2.getTextStyle();
expect(uis1.toString(), 'TextStyle(color: unspecified, decoration: unspecified, decorationColor: unspecified, decorationStyle: unspecified, decorationThickness: unspecified, fontWeight: unspecified, fontStyle: unspecified, textBaseline: unspecified, fontFamily: foo, fontFamilyFallback: [Roboto, test], fontSize: unspecified, letterSpacing: unspecified, wordSpacing: unspecified, height: unspecified, locale: unspecified, background: unspecified, foreground: unspecified, shadows: unspecified, fontFeatures: unspecified)');
- });
+ }, skip: isBrowser);
test('TextStyle.debugLabel', () {
const TextStyle unknown = TextStyle();