From 7126a894f68a4a6064b1e3513ef9dc9d3a44113e Mon Sep 17 00:00:00 2001 From: Ilya Yanok Date: Wed, 27 Sep 2023 02:31:01 -0700 Subject: [PATCH] Change default dummy value for `String` to contain some info PiperOrigin-RevId: 568789232 --- lib/src/builder.dart | 2 -- lib/src/dummies.dart | 10 +++++++--- lib/src/mock.dart | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/src/builder.dart b/lib/src/builder.dart index 48be2205..e354ed21 100644 --- a/lib/src/builder.dart +++ b/lib/src/builder.dart @@ -1567,8 +1567,6 @@ class _MockClassInfo { ..url = 'dart:async' ..types.add(elementType); }).property('empty').call([]); - } else if (type.isDartCoreString) { - return literalString(''); } else if (type.isDartTypedDataSealed) { // These types (XXXList + ByteData) from dart:typed_data are // sealed, e.g. "non-subtypeable", but they diff --git a/lib/src/dummies.dart b/lib/src/dummies.dart index f5630c13..b721fa1e 100644 --- a/lib/src/dummies.dart +++ b/lib/src/dummies.dart @@ -16,7 +16,7 @@ import 'dart:async'; import 'dart:collection'; import 'dart:typed_data'; -import 'mock.dart' show FakeFunctionUsedError; +import 'mock.dart' show FakeFunctionUsedError, PrettyString; import 'platform_dummies_js.dart' if (dart.library.io) 'platform_dummies_vm.dart'; @@ -24,7 +24,11 @@ import 'platform_dummies_js.dart' // String could totally contain an explanation. const int _dummyInt = 0; const double _dummyDouble = 0.0; -const String _dummyString = ''; + +// Create a dummy String with info on why it was created. +String _dummyString(Object o, Invocation i) => + '''Dummy String created while calling ${i.toPrettyString()} on $o. +'''; // This covers functions with up to 20 positional arguments, for more arguments, // type arguments or named arguments, users would have to provide a dummy @@ -104,7 +108,7 @@ Map _defaultDummyBuilders = { int: (_, _i) => _dummyInt, num: (_, _i) => _dummyInt, double: (_, _i) => _dummyDouble, - String: (_, _i) => _dummyString, + String: _dummyString, Int8List: (_, _i) => Int8List(0), Int16List: (_, _i) => Int16List(0), Int32List: (_, _i) => Int32List(0), diff --git a/lib/src/mock.dart b/lib/src/mock.dart index f988cf10..17286cf7 100644 --- a/lib/src/mock.dart +++ b/lib/src/mock.dart @@ -1270,7 +1270,7 @@ void resetMockitoState() { resetDummyBuilders(); } -extension on Invocation { +extension PrettyString on Invocation { /// Returns a pretty String representing a method (or getter or setter) call /// including its arguments, separating elements with newlines when it should /// improve readability.