From e9af5f17ced9e876625a8d0038dec5926b553fae Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Mon, 31 Jul 2023 17:21:48 -0500 Subject: [PATCH 1/4] Alter copy of mock_canvas to unblock moving to flutter_test --- CHANGELOG.md | 3 + example/pubspec.lock | 46 +++++++------- pubspec.lock | 62 ++++++++++++------- test/indicators/capacity_indicators_test.dart | 4 +- test/mock_canvas.dart | 8 +-- 5 files changed, 71 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c59bae9..02a7bb2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## [2.0.1] +* Modified mock_canvas copy from the framework to unblock move to flutter_test + ## [2.0.0] ### 🚨 Breaking Changes 🚨 * `macos_ui` has been migrated to utilize [macos_window_utils](https://pub.dev/packages/macos_window_utils) under the hood, which provides the following benefits: diff --git a/example/pubspec.lock b/example/pubspec.lock index dc586a2a..3dbde41a 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.18.0" crypto: dependency: transitive description: @@ -128,14 +128,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" lints: dependency: transitive description: @@ -163,18 +155,18 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: @@ -288,26 +280,26 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -328,10 +320,10 @@ packages: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.1" typed_data: dependency: transitive description: @@ -412,6 +404,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" win32: dependency: transitive description: @@ -429,5 +429,5 @@ packages: source: hosted version: "1.0.0" sdks: - dart: ">=3.0.0 <4.0.0" + dart: ">=3.1.0-185.0.dev <4.0.0" flutter: ">=3.10.0" diff --git a/pubspec.lock b/pubspec.lock index f80cd1d5..708421c4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "8880b4cfe7b5b17d57c052a5a3a8cc1d4f546261c7cc8fbd717bd53f48db0568" + sha256: "0816708f5fbcacca324d811297153fe3c8e047beb5c6752e12292d2974c17045" url: "https://pub.dev" source: hosted - version: "59.0.0" + version: "62.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: a89627f49b0e70e068130a36571409726b04dab12da7e5625941d2c8ec278b96 + sha256: "21862995c9932cd082f89d72ae5f5e2c110d1a0204ad06e4ebaee8307b76b834" url: "https://pub.dev" source: hosted - version: "5.11.1" + version: "6.0.0" args: dependency: transitive description: @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.18.0" convert: dependency: transitive description: @@ -89,6 +89,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.3" + dart_internal: + dependency: transitive + description: + name: dart_internal + sha256: "689dccc3d5f62affd339534cca548dce12b3a6b32f0f10861569d3025efc0567" + url: "https://pub.dev" + source: hosted + version: "0.2.9" fake_async: dependency: transitive description: @@ -199,18 +207,18 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: @@ -332,26 +340,26 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -372,26 +380,26 @@ packages: dependency: transitive description: name: test - sha256: "3dac9aecf2c3991d09b9cdde4f98ded7b30804a88a0d7e4e7e1678e78d6b97f4" + sha256: b9a384c4b9c4966dbf7215e7c033a78db1da7e5dcaf8da9232c5f24735f65652 url: "https://pub.dev" source: hosted - version: "1.24.1" + version: "1.24.5" test_api: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.1" test_core: dependency: transitive description: name: test_core - sha256: "5138dbffb77b2289ecb12b81c11ba46036590b72a64a7a90d6ffb880f1a29e93" + sha256: c6a536288535efef8526eea8adfa4e25fdd2849fa7f457ecb2a52099998ce8f7 url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.5.5" typed_data: dependency: transitive description: @@ -424,6 +432,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" web_socket_channel: dependency: transitive description: @@ -449,5 +465,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.0.0 <4.0.0" + dart: ">=3.1.0-185.0.dev <3.3.0" flutter: ">=3.10.0" diff --git a/test/indicators/capacity_indicators_test.dart b/test/indicators/capacity_indicators_test.dart index 5f5eb33a..3286af26 100644 --- a/test/indicators/capacity_indicators_test.dart +++ b/test/indicators/capacity_indicators_test.dart @@ -81,7 +81,7 @@ void main() { expect( find.byType(CapacityIndicator), // each discrete segment is drawn 3 times, two times with fill, last time with stroke - paintsExactlyCountTimes(#drawRRect, 20 * 3), + paintedExactlyCountTimes(#drawRRect, 20 * 3), ); }, ); @@ -110,7 +110,7 @@ void main() { // each discrete segment is drawn 3 times, background - fill - stroke // a filled segment is drawn by fromLTRBR with LTRB=0,0,8,16 // an empty segment is drawnby fromLTRBAndCorners with LTRB=0,0,0,16 - paints + painted ..rrect( rrect: RRect.fromLTRBR( 0.0, diff --git a/test/mock_canvas.dart b/test/mock_canvas.dart index c86c7482..7c7cd5f7 100644 --- a/test/mock_canvas.dart +++ b/test/mock_canvas.dart @@ -40,16 +40,16 @@ import 'recording_canvas.dart'; /// To match something which paints nothing, see [paintsNothing]. /// /// To match something which asserts instead of painting, see [paintsAssertion]. -PaintPattern get paints => _TestRecordingCanvasPatternMatcher(); +PaintPattern get painted => _TestRecordingCanvasPatternMatcher(); /// Matches objects or functions that does not paint anything on the canvas. -Matcher get paintsNothing => _TestRecordingCanvasPaintsNothingMatcher(); +Matcher get paintedNothing => _TestRecordingCanvasPaintsNothingMatcher(); /// Matches objects or functions that assert when they try to paint. -Matcher get paintsAssertion => _TestRecordingCanvasPaintsAssertionMatcher(); +Matcher get paintedAssertion => _TestRecordingCanvasPaintsAssertionMatcher(); /// Matches objects or functions that draw `methodName` exactly `count` number of times. -Matcher paintsExactlyCountTimes(Symbol methodName, int count) { +Matcher paintedExactlyCountTimes(Symbol methodName, int count) { return _TestRecordingCanvasPaintsCountMatcher(methodName, count); } From 1a898437e4316f292d4803548a49998848c8af67 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Wed, 2 Aug 2023 15:12:26 -0500 Subject: [PATCH 2/4] Fix compilation errors --- test/indicators/capacity_indicators_test.dart | 1 + test/mock_canvas.dart | 60 +++++++++---------- test/recording_canvas.dart | 28 ++++----- 3 files changed, 45 insertions(+), 44 deletions(-) diff --git a/test/indicators/capacity_indicators_test.dart b/test/indicators/capacity_indicators_test.dart index 3286af26..1780a362 100644 --- a/test/indicators/capacity_indicators_test.dart +++ b/test/indicators/capacity_indicators_test.dart @@ -5,6 +5,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:macos_ui/macos_ui.dart'; +// TODO(): Remove once mock_canvas in flutter_test reaches stable. import '../mock_canvas.dart'; void main() { diff --git a/test/mock_canvas.dart b/test/mock_canvas.dart index 7c7cd5f7..ee18e4f3 100644 --- a/test/mock_canvas.dart +++ b/test/mock_canvas.dart @@ -564,7 +564,7 @@ class _MismatchedCall { const _MismatchedCall(this.message, this.callIntroduction, this.call); final String message; final String callIntroduction; - final RecordedInvocation call; + final RecordInvocation call; } bool _evaluatePainter(Object? object, Canvas canvas, PaintingContext context) { @@ -593,9 +593,9 @@ bool _evaluatePainter(Object? object, Canvas canvas, PaintingContext context) { abstract class _TestRecordingCanvasMatcher extends Matcher { @override bool matches(Object? object, Map matchState) { - final TestRecordingCanvas canvas = TestRecordingCanvas(); - final TestRecordingPaintingContext context = - TestRecordingPaintingContext(canvas); + final TestRecordCanvas canvas = TestRecordCanvas(); + final TestRecordPaintingContext context = + TestRecordPaintingContext(canvas); final StringBuffer description = StringBuffer(); String prefixMessage = 'unexpectedly failed.'; bool result = false; @@ -618,7 +618,7 @@ abstract class _TestRecordingCanvasMatcher extends Matcher { if (!result) { if (canvas.invocations.isNotEmpty) { description.write('The complete display list was:'); - for (final RecordedInvocation call in canvas.invocations) { + for (final RecordInvocation call in canvas.invocations) { description.write('\n * $call'); } } @@ -628,7 +628,7 @@ abstract class _TestRecordingCanvasMatcher extends Matcher { } bool _evaluatePredicates( - Iterable calls, StringBuffer description); + Iterable calls, StringBuffer description); @override Description describeMismatch( @@ -658,9 +658,9 @@ class _TestRecordingCanvasPaintsCountMatcher @override bool _evaluatePredicates( - Iterable calls, StringBuffer description) { + Iterable calls, StringBuffer description) { int count = 0; - for (final RecordedInvocation call in calls) { + for (final RecordInvocation call in calls) { if (call.invocation.isMethod && call.invocation.memberName == _methodName) { count++; @@ -683,8 +683,8 @@ class _TestRecordingCanvasPaintsNothingMatcher @override bool _evaluatePredicates( - Iterable calls, StringBuffer description) { - final Iterable paintingCalls = + Iterable calls, StringBuffer description) { + final Iterable paintingCalls = _filterCanvasCalls(calls); if (paintingCalls.isEmpty) { return true; @@ -702,10 +702,10 @@ class _TestRecordingCanvasPaintsNothingMatcher ]; // Filters out canvas calls that are not painting anything. - static Iterable _filterCanvasCalls( - Iterable canvasCalls) { + static Iterable _filterCanvasCalls( + Iterable canvasCalls) { return canvasCalls.where( - (RecordedInvocation canvasCall) => + (RecordInvocation canvasCall) => !_nonPaintingOperations.contains(canvasCall.invocation.memberName), ); } @@ -714,9 +714,9 @@ class _TestRecordingCanvasPaintsNothingMatcher class _TestRecordingCanvasPaintsAssertionMatcher extends Matcher { @override bool matches(Object? object, Map matchState) { - final TestRecordingCanvas canvas = TestRecordingCanvas(); - final TestRecordingPaintingContext context = - TestRecordingPaintingContext(canvas); + final TestRecordCanvas canvas = TestRecordCanvas(); + final TestRecordPaintingContext context = + TestRecordPaintingContext(canvas); final StringBuffer description = StringBuffer(); String prefixMessage = 'unexpectedly failed.'; bool result = false; @@ -738,7 +738,7 @@ class _TestRecordingCanvasPaintsAssertionMatcher extends Matcher { if (!result) { if (canvas.invocations.isNotEmpty) { description.write('The complete display list was:'); - for (final RecordedInvocation call in canvas.invocations) { + for (final RecordInvocation call in canvas.invocations) { description.write('\n * $call'); } } @@ -1017,7 +1017,7 @@ class _TestRecordingCanvasPatternMatcher extends _TestRecordingCanvasMatcher @override bool _evaluatePredicates( - Iterable calls, StringBuffer description) { + Iterable calls, StringBuffer description) { if (calls.isEmpty) { description.writeln('It painted nothing.'); return false; @@ -1030,7 +1030,7 @@ class _TestRecordingCanvasPatternMatcher extends _TestRecordingCanvasMatcher return false; } final Iterator<_PaintPredicate> predicate = _predicates.iterator; - final Iterator call = calls.iterator..moveNext(); + final Iterator call = calls.iterator..moveNext(); try { while (predicate.moveNext()) { predicate.current.match(call); @@ -1056,12 +1056,12 @@ class _TestRecordingCanvasPatternMatcher extends _TestRecordingCanvasMatcher } abstract class _PaintPredicate { - void match(Iterator call); + void match(Iterator call); @protected - void checkMethod(Iterator call, Symbol symbol) { + void checkMethod(Iterator call, Symbol symbol) { int others = 0; - final RecordedInvocation firstCall = call.current; + final RecordInvocation firstCall = call.current; while (!call.current.invocation.isMethod || call.current.invocation.memberName != symbol) { others += 1; @@ -1108,7 +1108,7 @@ abstract class _DrawCommandPaintPredicate extends _PaintPredicate { String get methodName => _symbolName(symbol); @override - void match(Iterator call) { + void match(Iterator call) { checkMethod(call, symbol); final int actualArgumentCount = call.current.invocation.positionalArguments.length; @@ -1605,7 +1605,7 @@ class _ShadowPredicate extends _PaintPredicate { } @override - void match(Iterator call) { + void match(Iterator call) { checkMethod(call, symbol); verifyArguments(call.current.invocation.positionalArguments); call.moveNext(); @@ -1771,8 +1771,8 @@ class _SomethingPaintPredicate extends _PaintPredicate { final PaintPatternPredicate predicate; @override - void match(Iterator call) { - RecordedInvocation currentCall; + void match(Iterator call) { + RecordInvocation currentCall; bool testedAllCalls = false; do { if (testedAllCalls) { @@ -1807,9 +1807,9 @@ class _EverythingPaintPredicate extends _PaintPredicate { final PaintPatternPredicate predicate; @override - void match(Iterator call) { + void match(Iterator call) { do { - final RecordedInvocation currentCall = call.current; + final RecordInvocation currentCall = call.current; if (!currentCall.invocation.isMethod) { throw 'It called $currentCall, which was not a method, when the paint pattern expected a method call'; } @@ -1842,7 +1842,7 @@ class _FunctionPaintPredicate extends _PaintPredicate { final List arguments; @override - void match(Iterator call) { + void match(Iterator call) { checkMethod(call, symbol); if (call.current.invocation.positionalArguments.length != arguments.length) { @@ -1874,7 +1874,7 @@ class _FunctionPaintPredicate extends _PaintPredicate { class _SaveRestorePairPaintPredicate extends _PaintPredicate { @override - void match(Iterator call) { + void match(Iterator call) { checkMethod(call, #save); int depth = 1; while (depth > 0) { diff --git a/test/recording_canvas.dart b/test/recording_canvas.dart index d2bd2f33..8ff6abe4 100644 --- a/test/recording_canvas.dart +++ b/test/recording_canvas.dart @@ -7,9 +7,9 @@ import 'package:flutter/rendering.dart'; /// An [Invocation] and the [stack] trace that led to it. /// /// Used by [TestRecordingCanvas] to trace canvas calls. -class RecordedInvocation { +class RecordInvocation { /// Create a record for an invocation list. - const RecordedInvocation(this.invocation, {required this.stack}); + const RecordInvocation(this.invocation, {required this.stack}); /// The method that was called and its arguments. /// @@ -37,13 +37,13 @@ class RecordedInvocation { /// A [Canvas] for tests that records its method calls. /// -/// This class can be used in conjunction with [TestRecordingPaintingContext] +/// This class can be used in conjunction with [TestRecordPaintingContext] /// to record the [Canvas] method calls made by a renderer. For example: /// /// ```dart /// RenderBox box = tester.renderObject(find.text('ABC')); -/// TestRecordingCanvas canvas = TestRecordingCanvas(); -/// TestRecordingPaintingContext context = TestRecordingPaintingContext(canvas); +/// TestRecordCanvas canvas = TestRecordCanvas(); +/// TestRecordPaintingContext context = TestRecordPaintingContext(canvas); /// box.paint(context, Offset.zero); /// // Now test the expected canvas.invocations. /// ``` @@ -53,10 +53,10 @@ class RecordedInvocation { /// that the test requires. /// /// For simple tests, consider using the [paints] matcher, which overlays a -/// pattern matching API over [TestRecordingCanvas]. -class TestRecordingCanvas implements Canvas { +/// pattern matching API over [TestRecordCanvas]. +class TestRecordCanvas implements Canvas { /// All of the method calls on this canvas. - final List invocations = []; + final List invocations = []; int _saveCount = 0; @@ -67,13 +67,13 @@ class TestRecordingCanvas implements Canvas { void save() { _saveCount += 1; invocations - .add(RecordedInvocation(_MethodCall(#save), stack: StackTrace.current)); + .add(RecordInvocation(_MethodCall(#save), stack: StackTrace.current)); } @override void saveLayer(Rect? bounds, Paint paint) { _saveCount += 1; - invocations.add(RecordedInvocation( + invocations.add(RecordInvocation( _MethodCall(#saveLayer, [bounds, paint]), stack: StackTrace.current)); } @@ -83,20 +83,20 @@ class TestRecordingCanvas implements Canvas { _saveCount -= 1; assert(_saveCount >= 0); invocations.add( - RecordedInvocation(_MethodCall(#restore), stack: StackTrace.current)); + RecordInvocation(_MethodCall(#restore), stack: StackTrace.current)); } @override void noSuchMethod(Invocation invocation) { - invocations.add(RecordedInvocation(invocation, stack: StackTrace.current)); + invocations.add(RecordInvocation(invocation, stack: StackTrace.current)); } } /// A [PaintingContext] for tests that use [TestRecordingCanvas]. -class TestRecordingPaintingContext extends ClipContext +class TestRecordPaintingContext extends ClipContext implements PaintingContext { /// Creates a [PaintingContext] for tests that use [TestRecordingCanvas]. - TestRecordingPaintingContext(this.canvas); + TestRecordPaintingContext(this.canvas); @override final Canvas canvas; From 5cae87d0fd95bdad10f21a82eced6c66c5e19d14 Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Wed, 2 Aug 2023 15:16:18 -0500 Subject: [PATCH 3/4] changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02a7bb2a..b6872422 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## [2.0.2] +* Modified mock_canvas copy from the framework to unblock move to flutter_test + ## [2.0.1] * Modified mock_canvas copy from the framework to unblock move to flutter_test From f1d3b08553bd3966e2701f598b89a61cbca048ca Mon Sep 17 00:00:00 2001 From: Kate Lovett Date: Wed, 2 Aug 2023 16:35:58 -0500 Subject: [PATCH 4/4] Update changelog --- CHANGELOG.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6872422..0c59bae9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,3 @@ -## [2.0.2] -* Modified mock_canvas copy from the framework to unblock move to flutter_test - -## [2.0.1] -* Modified mock_canvas copy from the framework to unblock move to flutter_test - ## [2.0.0] ### 🚨 Breaking Changes 🚨 * `macos_ui` has been migrated to utilize [macos_window_utils](https://pub.dev/packages/macos_window_utils) under the hood, which provides the following benefits: