Skip to content

Commit 4a349ce

Browse files
authored
Fix some flaky tests in test class EnumTest (vojtechhabarta#677)
* Get sorted enum fields * Optimize error handler
1 parent 0841f94 commit 4a349ce

File tree

1 file changed

+8
-3
lines changed
  • typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser

1 file changed

+8
-3
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Jackson2Parser.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -719,9 +719,14 @@ private DeclarationModel parseEnumOrObjectEnum(SourceType<Class<?>> sourceClass,
719719

720720
final List<EnumMemberModel> enumMembers = new ArrayList<>();
721721
if (sourceClass.type.isEnum()) {
722-
final Class<?> enumClass = (Class<?>) sourceClass.type;
723-
final Field[] allEnumFields = enumClass.getDeclaredFields();
724-
final List<Field> constants = Arrays.stream(allEnumFields).filter(Field::isEnumConstant).collect(Collectors.toList());
722+
final Class<Enum> enumClass = (Class<Enum>) sourceClass.type;
723+
final List<Field> constants = Arrays.stream(enumClass.getEnumConstants()).map(e -> {
724+
try {
725+
return enumClass.getDeclaredField(e.name());
726+
} catch (NoSuchFieldException noSuchFieldException) {
727+
return null;
728+
}
729+
}).collect(Collectors.toList());
725730
for (Field constant : constants) {
726731
Object value;
727732
try {

0 commit comments

Comments
 (0)