|
12 | 12 | import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
|
13 | 13 | import com.fasterxml.jackson.databind.module.SimpleModule;
|
14 | 14 |
|
| 15 | +import static com.fasterxml.jackson.databind.DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY; |
15 | 16 | import static org.junit.jupiter.api.Assertions.*;
|
16 | 17 |
|
17 | 18 | import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.a2q;
|
@@ -542,6 +543,53 @@ public void testFloatArray() throws Exception
|
542 | 543 | }
|
543 | 544 | }
|
544 | 545 |
|
| 546 | + @Test |
| 547 | + public void testSingleStringToPrimitiveArray() throws JsonProcessingException { |
| 548 | + MAPPER.enable(ACCEPT_SINGLE_VALUE_AS_ARRAY); |
| 549 | + assertLengthValue(MAPPER.readValue("\"true\"", boolean[].class), true); |
| 550 | + assertLengthValue(MAPPER.readValue("\"a\"", char[].class), 'a'); |
| 551 | + assertLengthValue(MAPPER.readValue("\"1\"", short[].class), (short) 1); |
| 552 | + assertLengthValue(MAPPER.readValue("\"1\"", int[].class), 1); |
| 553 | + assertLengthValue(MAPPER.readValue("\"1\"", long[].class), 1L); |
| 554 | + assertLengthValue(MAPPER.readValue("\"7.038531e-26\"", float[].class), 7.038531e-26f); |
| 555 | + assertLengthValue(MAPPER.readValue("\"1.5555\"", double[].class), 1.5555d); |
| 556 | + } |
| 557 | + |
| 558 | + private void assertLengthValue(boolean[] arr, boolean expt) { |
| 559 | + assertEquals(1, arr.length); |
| 560 | + assertEquals(expt, arr[0]); |
| 561 | + } |
| 562 | + |
| 563 | + private void assertLengthValue(char[] arr, char expt) { |
| 564 | + assertEquals(1, arr.length); |
| 565 | + assertEquals(expt, arr[0]); |
| 566 | + } |
| 567 | + |
| 568 | + private void assertLengthValue(short[] arr, short expt) { |
| 569 | + assertEquals(1, arr.length); |
| 570 | + assertEquals(expt, arr[0]); |
| 571 | + } |
| 572 | + |
| 573 | + private void assertLengthValue(int[] arr, int expt) { |
| 574 | + assertEquals(1, arr.length); |
| 575 | + assertEquals(expt, arr[0]); |
| 576 | + } |
| 577 | + |
| 578 | + private void assertLengthValue(long[] arr, long expt) { |
| 579 | + assertEquals(1, arr.length); |
| 580 | + assertEquals(expt, arr[0]); |
| 581 | + } |
| 582 | + |
| 583 | + private void assertLengthValue(float[] arr, float expt) { |
| 584 | + assertEquals(1, arr.length); |
| 585 | + assertEquals(expt, arr[0]); |
| 586 | + } |
| 587 | + |
| 588 | + private void assertLengthValue(double[] arr, double expt) { |
| 589 | + assertEquals(1, arr.length); |
| 590 | + assertEquals(expt, arr[0]); |
| 591 | + } |
| 592 | + |
545 | 593 | /*
|
546 | 594 | /**********************************************************
|
547 | 595 | /* Tests for Bean arrays
|
|
0 commit comments