From e62cc06bde8ed83df90080cd0cb6f5b25b47f327 Mon Sep 17 00:00:00 2001 From: Marcono1234 Date: Tue, 18 Jun 2024 23:05:35 +0200 Subject: [PATCH] Add test using JDK enum class --- .../java/com/google/gson/functional/EnumTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gson/src/test/java/com/google/gson/functional/EnumTest.java b/gson/src/test/java/com/google/gson/functional/EnumTest.java index 835fb5086b..990a6463e8 100644 --- a/gson/src/test/java/com/google/gson/functional/EnumTest.java +++ b/gson/src/test/java/com/google/gson/functional/EnumTest.java @@ -308,4 +308,15 @@ public String toString() { return toString; } } + + /** + * Verifies that the enum adapter works for a public JDK enum class and no {@code + * InaccessibleObjectException} is thrown, despite using reflection internally to account for the + * constant names possibly being obfuscated. + */ + @Test + public void testJdkEnum() { + assertThat(gson.toJson(Thread.State.NEW)).isEqualTo("\"NEW\""); + assertThat(gson.fromJson("\"NEW\"", Thread.State.class)).isEqualTo(Thread.State.NEW); + } }