diff --git a/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/deser/StreamingParseTest.java b/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/deser/StreamingParseTest.java index 8fa71a8d..bff2ce9c 100644 --- a/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/deser/StreamingParseTest.java +++ b/yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/deser/StreamingParseTest.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.ModuleTestBase; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLParser; @@ -299,6 +300,15 @@ public void testIntParsingUnderscoresSm() throws Exception p.close(); } + public void testYamlLongWithUnderscores() throws Exception + { + ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); + LongHolder longHolder = mapper.readValue("v: 1_000_000", LongHolder.class); + assertNotNull(longHolder); + assertEquals(LongHolder.class, longHolder.getClass()); + assertEquals(Long.valueOf(1000000), longHolder.getV()); + } + // [cbor#4]: accidental recognition as double, with multiple dots public void testDoubleParsing() throws Exception { @@ -571,4 +581,19 @@ public void testTimeLikeValues() throws Exception assertNull(p.nextToken()); p.close(); } + + static class LongHolder + { + private Long v; + + public Long getV() + { + return v; + } + + public void setV(Long v) + { + this.v = v; + } + } }