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 =