Compatibility pass on flutter/rendering tests for JavaScript compilation. (5) (#33355)
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 69fa17c..cd5688a 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/rendering/',
'test/services/',
'test/painting/',
'test/scheduler/',
diff --git a/packages/flutter/test/rendering/debug_test.dart b/packages/flutter/test/rendering/debug_test.dart
index 5c4034d..1045f0a 100644
--- a/packages/flutter/test/rendering/debug_test.dart
+++ b/packages/flutter/test/rendering/debug_test.dart
@@ -14,12 +14,12 @@
test('Describe transform control test', () {
final Matrix4 identity = Matrix4.identity();
final List<String> description = debugDescribeTransform(identity);
- expect(description, equals(<String>[
+ expect(description, <String>[
'[0] 1.0,0.0,0.0,0.0',
'[1] 0.0,1.0,0.0,0.0',
'[2] 0.0,0.0,1.0,0.0',
'[3] 0.0,0.0,0.0,1.0',
- ]));
+ ]);
});
test('transform property test', () {
diff --git a/packages/flutter/test/rendering/editable_test.dart b/packages/flutter/test/rendering/editable_test.dart
index 583f9ef..1225dbe 100644
--- a/packages/flutter/test/rendering/editable_test.dart
+++ b/packages/flutter/test/rendering/editable_test.dart
@@ -72,7 +72,7 @@
' ╚═══════════\n'
),
);
- });
+ }, skip: isBrowser);
// Test that clipping will be used even when the text fits within the visible
// region if the start position of the text is offset (e.g. during scrolling
@@ -168,7 +168,7 @@
pumpFrame();
expect(editable, paintsExactlyCountTimes(#drawRRect, 0));
- });
+ }, skip: isBrowser);
test('Cursor with ideographic script', () {
final TextSelectionDelegate delegate = FakeEditableTextState();
@@ -241,7 +241,7 @@
pumpFrame();
expect(editable, paintsExactlyCountTimes(#drawRRect, 0));
- });
+ }, skip: isBrowser);
test('text is painted above selection', () {
final TextSelectionDelegate delegate = FakeEditableTextState();
@@ -327,7 +327,7 @@
..paragraph(),
);
expect(editable, paintsExactlyCountTimes(#drawRect, 1));
- });
+ }, skip: isBrowser);
test('selects correct place with offsets', () {
final TextSelectionDelegate delegate = FakeEditableTextState();
@@ -407,7 +407,7 @@
expect(currentSelection.isCollapsed, false);
expect(currentSelection.baseOffset, 5);
expect(currentSelection.extentOffset, 9);
- });
+ }, skip: isBrowser);
test('selects correct place when offsets are flipped', () {
final TextSelectionDelegate delegate = FakeEditableTextState();
@@ -439,7 +439,7 @@
expect(currentSelection.isCollapsed, isFalse);
expect(currentSelection.baseOffset, 1);
expect(currentSelection.extentOffset, 3);
- });
+ }, skip: isBrowser);
test('selection does not flicker as user is dragging', () {
int selectionChangedCount = 0;
@@ -494,7 +494,7 @@
expect(updatedSelection.baseOffset, 3);
expect(updatedSelection.extentOffset, 5);
expect(selectionChangedCount, 1);
- });
+ }, skip: isBrowser);
test('editable hasFocus correctly initialized', () {
// Regression test for https://github.com/flutter/flutter/issues/21640
diff --git a/packages/flutter/test/rendering/layers_test.dart b/packages/flutter/test/rendering/layers_test.dart
index 58490bd..31bca5b 100644
--- a/packages/flutter/test/rendering/layers_test.dart
+++ b/packages/flutter/test/rendering/layers_test.dart
@@ -455,5 +455,5 @@
_testConflicts(layerA, layerB, expectedErrorCount: 1);
});
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/rendering/paragraph_test.dart b/packages/flutter/test/rendering/paragraph_test.dart
index 356b6d8..f9d7df7 100644
--- a/packages/flutter/test/rendering/paragraph_test.dart
+++ b/packages/flutter/test/rendering/paragraph_test.dart
@@ -48,7 +48,7 @@
final TextPosition positionBelow = paragraph.getPositionForOffset(const Offset(5.0, 20.0));
expect(positionBelow.offset, greaterThan(position40.offset));
- });
+ }, skip: isBrowser);
test('getBoxesForSelection control test', () {
final RenderParagraph paragraph = RenderParagraph(
@@ -71,7 +71,7 @@
expect(boxes.any((ui.TextBox box) => box.right == 100 && box.top == 10), isTrue);
},
// Ahem-based tests don't yet quite work on Windows or some MacOS environments
- skip: isLinux);
+ skip: isLinux || isBrowser);
test('getWordBoundary control test', () {
final RenderParagraph paragraph = RenderParagraph(
@@ -88,7 +88,7 @@
final TextRange range85 = paragraph.getWordBoundary(const TextPosition(offset: 75));
expect(range85.textInside(_kText), equals('Queen\'s'));
- });
+ }, skip: isBrowser);
test('overflow test', () {
final RenderParagraph paragraph = RenderParagraph(
@@ -164,7 +164,7 @@
relayoutWith(maxLines: 100, softWrap: true, overflow: TextOverflow.fade);
expect(paragraph.debugHasOverflowShader, isFalse);
- });
+ }, skip: isBrowser);
test('maxLines', () {
final RenderParagraph paragraph = RenderParagraph(
@@ -193,7 +193,7 @@
layoutAt(3);
expect(paragraph.size.height, 30.0);
- }, skip: isWindows); // Ahem-based tests don't yet quite work on Windows
+ }, skip: isWindows || isBrowser); // Ahem-based tests don't yet quite work on Windows
test('changing color does not do layout', () {
final RenderParagraph paragraph = RenderParagraph(
@@ -280,7 +280,7 @@
expect(boxes[2].toRect().height, closeTo(26.0, 0.0001));
expect(boxes[3].toRect().width, anyOf(14.0, 13.0));
expect(boxes[3].toRect().height, closeTo(13.0, 0.0001));
- });
+ }, skip: isBrowser);
test('toStringDeep', () {
final RenderParagraph paragraph = RenderParagraph(
@@ -361,7 +361,7 @@
expect(boxes[3], const TextBox.fromLTRBD(38.0, 4.0, 48.0, 14.0, TextDirection.ltr));
expect(boxes[4], const TextBox.fromLTRBD(48.0, 0.0, 62.0, 14.0, TextDirection.ltr));
// Ahem-based tests don't yet quite work on Windows or some MacOS environments
- }, skip: isWindows || isMacOS);
+ }, skip: isWindows || isMacOS || isBrowser);
test('inline widgets multiline test', () {
const TextSpan text = TextSpan(
@@ -413,5 +413,5 @@
expect(boxes[7], const TextBox.fromLTRBD(0.0, 28.0, 14.0, 42.0, TextDirection.ltr));
expect(boxes[8], const TextBox.fromLTRBD(14.0, 28.0, 28.0, 42.0 , TextDirection.ltr));
// Ahem-based tests don't yet quite work on Windows or some MacOS environments
- }, skip: isWindows || isMacOS);
+ }, skip: isWindows || isMacOS || isBrowser);
}
diff --git a/packages/flutter/test/rendering/positioned_box_test.dart b/packages/flutter/test/rendering/positioned_box_test.dart
index 09d6e0b..c426023 100644
--- a/packages/flutter/test/rendering/positioned_box_test.dart
+++ b/packages/flutter/test/rendering/positioned_box_test.dart
@@ -69,5 +69,5 @@
expect(positioner.size.width, equals(200.0));
expect(positioner.size.height, equals(200.0));
- });
+ }, skip: isBrowser);
}
diff --git a/packages/flutter/test/rendering/proxy_box_test.dart b/packages/flutter/test/rendering/proxy_box_test.dart
index 81745ff..730aca3 100644
--- a/packages/flutter/test/rendering/proxy_box_test.dart
+++ b/packages/flutter/test/rendering/proxy_box_test.dart
@@ -229,7 +229,7 @@
expect(getPixel(20, 20), equals(0x00000080));
expect(getPixel(image.width - 1, 0), equals(0x00000000));
expect(getPixel(image.width - 1, 20), equals(0xffffffff));
- });
+ }, skip: isBrowser);
test('RenderOpacity does not composite if it is transparent', () {
final RenderOpacity renderOpacity = RenderOpacity(
diff --git a/packages/flutter/test/rendering/sliver_cache_test.dart b/packages/flutter/test/rendering/sliver_cache_test.dart
index 70617d6..904029d 100644
--- a/packages/flutter/test/rendering/sliver_cache_test.dart
+++ b/packages/flutter/test/rendering/sliver_cache_test.dart
@@ -478,7 +478,7 @@
);
expect(children.sublist(0, 21).any((RenderBox r) => r.attached), false);
expect(children.sublist(21, 30).every((RenderBox r) => r.attached), true);
- });
+ }, skip: isBrowser);
test('RenderSliverGrid calculates correct geometry', () {
// Viewport is 800x600, each grid element is 400x100, giving us space for 12 visible children
diff --git a/packages/flutter/test/rendering/viewport_test.dart b/packages/flutter/test/rendering/viewport_test.dart
index fc139e4..ae48bd2 100644
--- a/packages/flutter/test/rendering/viewport_test.dart
+++ b/packages/flutter/test/rendering/viewport_test.dart
@@ -190,7 +190,7 @@
revealed = viewport.getOffsetToReveal(target, 1.0, rect: const Rect.fromLTWH(40.0, 40.0, 10.0, 10.0));
expect(revealed.offset, 360.0);
expect(revealed.rect, const Rect.fromLTWH(0.0, 40.0, 10.0, 10.0));
- });
+ }, skip: isBrowser);
testWidgets('Viewport getOffsetToReveal Sliver - down', (WidgetTester tester) async {
final List<Widget> children = <Widget>[];
diff --git a/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart b/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart
index aa6133c..faeefb2 100644
--- a/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart
+++ b/packages/flutter_tools/lib/src/build_runner/web_compilation_delegate.dart
@@ -479,6 +479,9 @@
// we don't have an embedder yet this is the lowest-most layer we can put
// this stuff in.
await ui.webOnlyInitializeEngine();
+ // TODO(flutterweb): remove need for dynamic cast.
+ (ui.window as dynamic).debugOverrideDevicePixelRatio(3.0);
+ (ui.window as dynamic).webOnlyDebugPhysicalSizeOverride = const ui.Size(2400, 1800);
internalBootstrapBrowserTest(() => test.main);
}