blob: 4a5b1b774aa42e85f2ed75bb7bc705cdb5db2c0a [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('Texture with freeze set to true', (WidgetTester tester) async {
await tester.pumpWidget(
const Center(child: Texture(textureId: 1, freeze: true)),
);
final Texture texture = tester.firstWidget(find.byType(Texture));
expect(texture, isNotNull);
expect(texture.textureId, 1);
expect(texture.freeze, true);
final RenderObject renderObject = tester.firstRenderObject(find.byType(Texture));
expect(renderObject, isNotNull);
final TextureBox textureBox = renderObject as TextureBox;
expect(textureBox, isNotNull);
expect(textureBox.textureId, 1);
expect(textureBox.freeze, true);
final ContainerLayer containerLayer = ContainerLayer();
final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero);
textureBox.paint(paintingContext, Offset.zero);
final Layer layer = containerLayer.lastChild!;
expect(layer, isNotNull);
final TextureLayer textureLayer = layer as TextureLayer;
expect(textureLayer, isNotNull);
expect(textureLayer.textureId, 1);
expect(textureLayer.freeze, true);
});
testWidgets('Texture with default FilterQuality', (WidgetTester tester) async {
await tester.pumpWidget(
const Center(child: Texture(textureId: 1)),
);
final Texture texture = tester.firstWidget(find.byType(Texture));
expect(texture, isNotNull);
expect(texture.textureId, 1);
expect(texture.filterQuality, FilterQuality.low);
final RenderObject renderObject = tester.firstRenderObject(find.byType(Texture));
expect(renderObject, isNotNull);
final TextureBox textureBox = renderObject as TextureBox;
expect(textureBox, isNotNull);
expect(textureBox.textureId, 1);
expect(textureBox.filterQuality, FilterQuality.low);
final ContainerLayer containerLayer = ContainerLayer();
final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero);
textureBox.paint(paintingContext, Offset.zero);
final Layer layer = containerLayer.lastChild!;
expect(layer, isNotNull);
final TextureLayer textureLayer = layer as TextureLayer;
expect(textureLayer, isNotNull);
expect(textureLayer.textureId, 1);
expect(textureLayer.filterQuality, FilterQuality.low);
});
testWidgets('Texture with FilterQuality.none', (WidgetTester tester) async {
await tester.pumpWidget(
const Center(child: Texture(textureId: 1, filterQuality: FilterQuality.none)),
);
final Texture texture = tester.firstWidget(find.byType(Texture));
expect(texture, isNotNull);
expect(texture.textureId, 1);
expect(texture.filterQuality, FilterQuality.none);
final RenderObject renderObject = tester.firstRenderObject(find.byType(Texture));
expect(renderObject, isNotNull);
final TextureBox textureBox = renderObject as TextureBox;
expect(textureBox, isNotNull);
expect(textureBox.textureId, 1);
expect(textureBox.filterQuality, FilterQuality.none);
final ContainerLayer containerLayer = ContainerLayer();
final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero);
textureBox.paint(paintingContext, Offset.zero);
final Layer layer = containerLayer.lastChild!;
expect(layer, isNotNull);
final TextureLayer textureLayer = layer as TextureLayer;
expect(textureLayer, isNotNull);
expect(textureLayer.textureId, 1);
expect(textureLayer.filterQuality, FilterQuality.none);
});
testWidgets('Texture with FilterQuality.low', (WidgetTester tester) async {
await tester.pumpWidget(
const Center(child: Texture(textureId: 1)),
);
final Texture texture = tester.firstWidget(find.byType(Texture));
expect(texture, isNotNull);
expect(texture.textureId, 1);
expect(texture.filterQuality, FilterQuality.low);
final RenderObject renderObject = tester.firstRenderObject(find.byType(Texture));
expect(renderObject, isNotNull);
final TextureBox textureBox = renderObject as TextureBox;
expect(textureBox, isNotNull);
expect(textureBox.textureId, 1);
expect(textureBox.filterQuality, FilterQuality.low);
final ContainerLayer containerLayer = ContainerLayer();
final PaintingContext paintingContext = PaintingContext(containerLayer, Rect.zero);
textureBox.paint(paintingContext, Offset.zero);
final Layer layer = containerLayer.lastChild!;
expect(layer, isNotNull);
final TextureLayer textureLayer = layer as TextureLayer;
expect(textureLayer, isNotNull);
expect(textureLayer.textureId, 1);
expect(textureLayer.filterQuality, FilterQuality.low);
});
}