Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 5ee7b38

Browse files
authored
Test cover 'toImage'. (#35791)
1 parent e74352c commit 5ee7b38

File tree

4 files changed

+96
-0
lines changed

4 files changed

+96
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
import 'dart:async';
6+
7+
import 'package:test/bootstrap/browser.dart';
8+
import 'package:test/test.dart';
9+
import 'package:ui/src/engine.dart';
10+
import 'package:ui/ui.dart' as ui;
11+
12+
import 'common.dart';
13+
14+
void main() {
15+
internalBootstrapBrowserTest(() => testMain);
16+
}
17+
18+
void testMain() {
19+
setUpCanvasKitTest();
20+
21+
test('toImage succeeds', () async {
22+
final ui.Image image = await _createImage();
23+
expect(image.runtimeType.toString(), equals('CkImage'));
24+
image.dispose();
25+
// TODO(hterkelsen): https://github.com/flutter/flutter/issues/109265
26+
}, skip: isFirefox);
27+
}
28+
29+
Future<ui.Image> _createImage() => _createPicture().toImage(10, 10);
30+
31+
ui.Picture _createPicture() {
32+
final ui.PictureRecorder recorder = ui.PictureRecorder();
33+
final ui.Canvas canvas = ui.Canvas(recorder);
34+
const ui.Rect rect = ui.Rect.fromLTWH(0.0, 0.0, 100.0, 100.0);
35+
canvas.clipRect(rect);
36+
return recorder.endRecording();
37+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
import 'package:test/bootstrap/browser.dart';
6+
import 'package:test/test.dart';
7+
import 'package:ui/ui.dart' as ui;
8+
9+
void main() {
10+
internalBootstrapBrowserTest(() => testMain);
11+
}
12+
13+
Future<void> testMain() async {
14+
15+
test('toImage succeeds', () async {
16+
final ui.Image image = await _createImage();
17+
expect(image.runtimeType.toString(), equals('HtmlImage'));
18+
image.dispose();
19+
// TODO(polina-c): unskip the test when bug is fixed:
20+
// https://github.com/flutter/engine/pull/35791
21+
}, skip: true);
22+
}
23+
24+
Future<ui.Image> _createImage() => _createPicture().toImage(10, 10);
25+
26+
ui.Picture _createPicture() {
27+
final ui.PictureRecorder recorder = ui.PictureRecorder();
28+
final ui.Canvas canvas = ui.Canvas(recorder);
29+
const ui.Rect rect = ui.Rect.fromLTWH(0.0, 0.0, 100.0, 100.0);
30+
canvas.clipRect(rect);
31+
return recorder.endRecording();
32+
}

testing/dart/BUILD.gn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ tests = [
2525
"image_filter_test.dart",
2626
"image_resize_test.dart",
2727
"image_shader_test.dart",
28+
"image_test.dart",
2829
"isolate_name_server_test.dart",
2930
"isolate_test.dart",
3031
"lerp_test.dart",

testing/dart/image_test.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
import 'dart:async';
6+
import 'dart:ui';
7+
8+
import 'package:litetest/litetest.dart';
9+
10+
void main() {
11+
test('toImage succeeds', () async {
12+
final Image image = await _createImage();
13+
expect(image.runtimeType.toString(), equals('Image'));
14+
image.dispose();
15+
});
16+
}
17+
18+
Future<Image> _createImage() => _createPicture().toImage(10, 10);
19+
20+
Picture _createPicture() {
21+
final PictureRecorder recorder = PictureRecorder();
22+
final Canvas canvas = Canvas(recorder);
23+
const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0);
24+
canvas.clipRect(rect);
25+
return recorder.endRecording();
26+
}

0 commit comments

Comments
 (0)