Skip to content

Commit cbab4f3

Browse files
committed
Merge branch '2.18' into bigdec-issue
2 parents a6f4cbc + f90ba05 commit cbab4f3

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

src/main/java/com/fasterxml/jackson/core/io/BigDecimalParser.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ private static String _getValueDesc(final String fullValue) {
161161
return String.format("\"%s\"", fullValue);
162162
}
163163
return String.format("\"%s\" (truncated to %d chars (from %d))",
164-
fullValue.substring(0, MAX_CHARS_TO_REPORT),
165-
MAX_CHARS_TO_REPORT, len);
164+
fullValue.substring(0, MAX_CHARS_TO_REPORT),
165+
MAX_CHARS_TO_REPORT, len);
166166
}
167167

168168
private static String _getValueDesc(final char[] array, final int offset, final int len) {
@@ -178,5 +178,4 @@ private static String _generateExceptionMessage(final String valueToReport, fina
178178
return String.format("Value %s can not be deserialized as `java.math.BigDecimal`, reason: %s" ,
179179
valueToReport, desc);
180180
}
181-
182181
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.fasterxml.jackson.failing;
2+
3+
import ch.randelshofer.fastdoubleparser.JavaBigDecimalParser;
4+
import com.fasterxml.jackson.core.io.BigDecimalParser;
5+
import org.junit.jupiter.api.Test;
6+
7+
import java.math.BigDecimal;
8+
9+
import static org.junit.jupiter.api.Assertions.assertEquals;
10+
11+
class BigDecimalParser4694Test extends com.fasterxml.jackson.core.JUnit5TestBase
12+
{
13+
// https://github.com/FasterXML/jackson-databind/issues/4694
14+
@Test
15+
void issueDatabind4694() {
16+
final String str = "-11000.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
17+
final BigDecimal expected = new BigDecimal(str);
18+
assertEquals(expected, JavaBigDecimalParser.parseBigDecimal(str));
19+
assertEquals(expected, BigDecimalParser.parse(str));
20+
assertEquals(expected, BigDecimalParser.parseWithFastParser(str));
21+
final char[] arr = str.toCharArray();
22+
assertEquals(expected, BigDecimalParser.parse(arr, 0, arr.length));
23+
assertEquals(expected, BigDecimalParser.parseWithFastParser(arr, 0, arr.length));
24+
}
25+
}

0 commit comments

Comments
 (0)