From 56abc8daa79ba86afdd7475e13f8d36ed37e35e4 Mon Sep 17 00:00:00 2001 From: Alvaro Almeida Freire Stivi Date: Wed, 3 Jul 2024 15:10:44 +0000 Subject: [PATCH] Adds more Canvas Wrapper tests --- packages/pinball_flame/lib/pinball_flame.dart | 1 - .../pinball_flame/lib/src/parent_is_a.dart | 14 --------- .../test/src/canvas/canvas_wrapper_test.dart | 31 +++++++++++++++++++ 3 files changed, 31 insertions(+), 15 deletions(-) delete mode 100644 packages/pinball_flame/lib/src/parent_is_a.dart diff --git a/packages/pinball_flame/lib/pinball_flame.dart b/packages/pinball_flame/lib/pinball_flame.dart index 0e0c1fcb..90ed1f2c 100644 --- a/packages/pinball_flame/lib/pinball_flame.dart +++ b/packages/pinball_flame/lib/pinball_flame.dart @@ -5,6 +5,5 @@ export 'src/canvas/canvas.dart'; export 'src/flame_provider.dart'; export 'src/keyboard_input_controller.dart'; export 'src/layer.dart'; -export 'src/parent_is_a.dart'; export 'src/shapes/shapes.dart'; export 'src/sprite_animation.dart'; diff --git a/packages/pinball_flame/lib/src/parent_is_a.dart b/packages/pinball_flame/lib/src/parent_is_a.dart deleted file mode 100644 index 9f90ddf5..00000000 --- a/packages/pinball_flame/lib/src/parent_is_a.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'dart:async'; - -import 'package:flame/components.dart'; - -/// A mixin that ensures a parent is of the given type [T]. -mixin ParentIsAOld on Component { - @override - T get parent => super.parent! as T; - - @override - FutureOr addToParent(covariant T parent) { - return super.addToParent(parent); - } -} diff --git a/packages/pinball_flame/test/src/canvas/canvas_wrapper_test.dart b/packages/pinball_flame/test/src/canvas/canvas_wrapper_test.dart index ec7cb06f..01e4bfde 100644 --- a/packages/pinball_flame/test/src/canvas/canvas_wrapper_test.dart +++ b/packages/pinball_flame/test/src/canvas/canvas_wrapper_test.dart @@ -31,6 +31,7 @@ void main() { late Int32List int32list; late Picture picture; late Paragraph paragraph; + late Vertices vertices; setUp(() { canvas = _MockCanvas(); @@ -47,6 +48,7 @@ void main() { int32list = Int32List(1); picture = _MockPicture(); paragraph = _MockParagraph(); + vertices = Vertices(VertexMode.triangles, [Offset.zero]); }); test("clipPath calls Canvas's clipPath", () { @@ -329,12 +331,41 @@ void main() { verify(() => canvas.transform(float64list)).called(1); }); + test("drawVertices calls Canvas's drawVertices", () { + CanvasWrapper() + ..canvas = canvas + ..drawVertices(vertices, blendMode, paint); + verify( + () => canvas.drawVertices(vertices, blendMode, paint), + ).called(1); + }); + test("translate calls Canvas's translate", () { CanvasWrapper() ..canvas = canvas ..translate(0, 0); verify(() => canvas.translate(0, 0)).called(1); }); + + test('throws exception for unimplemented methods', () { + final canvasWrapper = CanvasWrapper()..canvas = canvas; + expect( + canvasWrapper.getDestinationClipBounds, + throwsUnimplementedError, + ); + expect( + canvasWrapper.getLocalClipBounds, + throwsUnimplementedError, + ); + expect( + canvasWrapper.getTransform, + throwsUnimplementedError, + ); + expect( + () => canvasWrapper.restoreToCount(0), + throwsUnimplementedError, + ); + }); }); }); }