Unverified Commit 1b406159 authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Give better error message for describeEnum (#61581)

parent 293a2bf8
......@@ -3032,7 +3032,10 @@ String describeIdentity(Object? object) => '${objectRuntimeType(object, '<optimi
String describeEnum(Object enumEntry) {
final String description = enumEntry.toString();
final int indexOfDot = description.indexOf('.');
assert(indexOfDot != -1 && indexOfDot < description.length - 1);
assert(
indexOfDot != -1 && indexOfDot < description.length - 1,
'The provided object "$enumEntry" is not an enum.',
);
return description.substring(indexOfDot + 1);
}
......
......@@ -903,6 +903,14 @@ void main() {
expect(describeEnum(ExampleEnum.hello), equals('hello'));
expect(describeEnum(ExampleEnum.world), equals('world'));
expect(describeEnum(ExampleEnum.deferToChild), equals('deferToChild'));
expect(
() => describeEnum('Hello World'),
throwsA(isAssertionError.having(
(AssertionError e) => e.message,
'message',
'The provided object "Hello World" is not an enum.'),
),
);
});
test('string property test', () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment