From 2f3db22d0dcdc582dde624a14eb9c6fb74173331 Mon Sep 17 00:00:00 2001 From: SPE Date: Thu, 7 May 2026 10:58:54 +0200 Subject: [PATCH 1/2] Change default toString() implementation. (equatable.dart, equatable_mixin.dart) `return '$runtimeType';` -> `return super.toString();` --- lib/src/equatable.dart | 2 +- lib/src/equatable_mixin.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/equatable.dart b/lib/src/equatable.dart index 6b4445b9..232e2554 100644 --- a/lib/src/equatable.dart +++ b/lib/src/equatable.dart @@ -57,6 +57,6 @@ abstract class Equatable { if (stringify ?? EquatableConfig.stringify) { return mapPropsToString(runtimeType, props); } - return '$runtimeType'; + return super.toString(); } } diff --git a/lib/src/equatable_mixin.dart b/lib/src/equatable_mixin.dart index b69db159..6a416b31 100644 --- a/lib/src/equatable_mixin.dart +++ b/lib/src/equatable_mixin.dart @@ -33,6 +33,6 @@ mixin EquatableMixin { if (stringify ?? EquatableConfig.stringify) { return mapPropsToString(runtimeType, props); } - return '$runtimeType'; + return super.toString(); } } From ac94de67249712932b66a69d40efe9cb059ff9d2 Mon Sep 17 00:00:00 2001 From: SPE Date: Thu, 7 May 2026 11:00:29 +0200 Subject: [PATCH 2/2] Changed tests to reflect the breaking toString() implementation change. --- test/equatable_config_test.dart | 8 ++++---- test/equatable_mixin_test.dart | 11 +++++++---- test/equatable_test.dart | 11 +++++++---- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/test/equatable_config_test.dart b/test/equatable_config_test.dart index 08483ba5..bade9daf 100644 --- a/test/equatable_config_test.dart +++ b/test/equatable_config_test.dart @@ -62,11 +62,11 @@ void main() { EquatableConfig.stringify = false; expect( Credentials(username: 'joe', password: 'pass').toString(), - 'Credentials', + "Instance of 'Credentials'", ); expect( CredentialsMixin(username: 'joe', password: 'pass').toString(), - 'CredentialsMixin', + "Instance of 'CredentialsMixin'", ); }); @@ -113,7 +113,7 @@ void main() { password: 'pass', shouldStringify: false, ).toString(), - 'Credentials', + "Instance of 'Credentials'", ); expect( CredentialsMixin( @@ -121,7 +121,7 @@ void main() { password: 'pass', shouldStringify: false, ).toString(), - 'CredentialsMixin', + "Instance of 'CredentialsMixin'", ); }); }); diff --git a/test/equatable_mixin_test.dart b/test/equatable_mixin_test.dart index 41b5bad8..e4170c9d 100644 --- a/test/equatable_mixin_test.dart +++ b/test/equatable_mixin_test.dart @@ -175,7 +175,7 @@ void main() { test('should correct toString when EquatableConfig.stringify is false', () { EquatableConfig.stringify = false; final instance = SimpleEquatable('simple'); - expect(instance.toString(), 'SimpleEquatable'); + expect(instance.toString(), "Instance of 'SimpleEquatable'"); }); test('should return true when instance is the same', () { @@ -660,9 +660,12 @@ void main() { ExplicitStringifyFalse(name: 'Bob', hairColor: Color.black); final instanceC = ExplicitStringifyFalse(name: 'Joe', age: 50, hairColor: Color.blonde); - expect(instanceA.toString(), 'ExplicitStringifyFalse'); - expect(instanceB.toString(), 'ExplicitStringifyFalse'); - expect(instanceC.toString(), 'ExplicitStringifyFalse'); + + const expected = "Instance of 'ExplicitStringifyFalse'"; + + expect(instanceA.toString(), expected); + expect(instanceB.toString(), expected); + expect(instanceC.toString(), expected); }); }); diff --git a/test/equatable_test.dart b/test/equatable_test.dart index 9814049f..fb3c87c7 100644 --- a/test/equatable_test.dart +++ b/test/equatable_test.dart @@ -192,7 +192,7 @@ void main() { test('should correct toString when EquatableConfig.stringify is false', () { EquatableConfig.stringify = false; final instance = SimpleEquatable('simple'); - expect(instance.toString(), 'SimpleEquatable'); + expect(instance.toString(), "Instance of 'SimpleEquatable'"); }); test('should return true when instance is the same', () { @@ -1057,9 +1057,12 @@ void main() { age: 50, hairColor: Color.blonde, ); - expect(instanceA.toString(), 'ExplicitStringifyFalse'); - expect(instanceB.toString(), 'ExplicitStringifyFalse'); - expect(instanceC.toString(), 'ExplicitStringifyFalse'); + + const expected = "Instance of 'ExplicitStringifyFalse'"; + + expect(instanceA.toString(), expected); + expect(instanceB.toString(), expected); + expect(instanceC.toString(), expected); }); }); }