fix: stringify instance with long properties (#97)
diff --git a/lib/src/equatable_utils.dart b/lib/src/equatable_utils.dart
index 0a8afc7..c4f2268 100644
--- a/lib/src/equatable_utils.dart
+++ b/lib/src/equatable_utils.dart
@@ -64,4 +64,4 @@
/// Returns a string for [props].
String mapPropsToString(Type runtimeType, List<Object> props) =>
- '$runtimeType${props?.map((prop) => prop.toString()) ?? '()'}';
+ '$runtimeType(${props?.map((prop) => prop.toString())?.join(', ') ?? ""})';
diff --git a/test/equatable_test.dart b/test/equatable_test.dart
index 3c5e17a..76c7b7d 100644
--- a/test/equatable_test.dart
+++ b/test/equatable_test.dart
@@ -108,6 +108,23 @@
bool get stringify => true;
}
+class SuperLongPropertiesStringify extends Equatable {
+ SuperLongPropertiesStringify(this.a, this.b, this.c, this.d, this.e, this.f);
+
+ final String a;
+ final String b;
+ final String c;
+ final String d;
+ final String e;
+ final String f;
+
+ @override
+ List<Object> get props => [a, b, c, d, e, f];
+
+ @override
+ bool get stringify => true;
+}
+
class ExplicitStringifyFalse extends Equatable {
ExplicitStringifyFalse({this.name, this.age, this.hairColor});
@@ -808,6 +825,23 @@
expect(instanceC.toString(), 'ComplexStringify(Joe, 50, Color.blonde)');
});
+ test('with SuperLongProperties stringify', () {
+ final instance = SuperLongPropertiesStringify(
+ 'aaaaaaaaaaaaaaa',
+ 'aaaaaaaaaaaaaaa',
+ 'aaaaaaaaaaaaaaa',
+ 'aaaaaaaaaaaaaaa',
+ 'aaaaaaaaaaaaaaa',
+ 'aaaaaaaaaaaaaaa',
+ );
+ expect(
+ instance.toString(),
+ 'SuperLongPropertiesStringify(aaaaaaaaaaaaaaa, aaaaaaaaaaaaaaa, '
+ 'aaaaaaaaaaaaaaa, aaaaaaaaaaaaaaa, aaaaaaaaaaaaaaa, '
+ 'aaaaaaaaaaaaaaa)',
+ );
+ });
+
test('with ExplicitStringifyFalse stringify', () {
final instanceA = ExplicitStringifyFalse();
final instanceB =