From fff39bd95ea11f4b99df7064deaf210a484d3d05 Mon Sep 17 00:00:00 2001 From: Maxou <5208681+mxyns@users.noreply.github.com> Date: Wed, 2 Mar 2022 10:28:19 +0100 Subject: [PATCH] test - failing test for unsupported Record (#3) --- .../com/jsoniter/ReflectionDecoderFactory.java | 3 +++ src/test/java/com/jsoniter/TestRecord.java | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/test/java/com/jsoniter/TestRecord.java diff --git a/src/main/java/com/jsoniter/ReflectionDecoderFactory.java b/src/main/java/com/jsoniter/ReflectionDecoderFactory.java index 65dee380..d031cd28 100644 --- a/src/main/java/com/jsoniter/ReflectionDecoderFactory.java +++ b/src/main/java/com/jsoniter/ReflectionDecoderFactory.java @@ -23,6 +23,9 @@ public static Decoder create(ClassInfo classAndArgs) { if (clazz.isEnum()) { return new ReflectionEnumDecoder(clazz); } + if (clazz.isRecord()) { + return new ReflectionRecordDecoder(clazz, typeArgs); + } return new ReflectionObjectDecoder(classAndArgs).create(); } } diff --git a/src/test/java/com/jsoniter/TestRecord.java b/src/test/java/com/jsoniter/TestRecord.java new file mode 100644 index 00000000..4ea8b92a --- /dev/null +++ b/src/test/java/com/jsoniter/TestRecord.java @@ -0,0 +1,18 @@ +package com.jsoniter; + +import junit.framework.TestCase; + +import java.io.IOException; + +public class TestRecord extends TestCase { + + record TestRecord1(long field1) { + + } + + public void test_record_error() throws IOException { + + JsonIterator iter = JsonIterator.parse("{ 'field1' : 1".replace('\'', '"')); + iter.read(TestRecord1.class); + } +}