Added unit test to verify [JACKSON-820] (should possibly move to core tho)
diff --git a/pom.xml b/pom.xml
index 170a8a0..49c7f75 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,12 +56,12 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
- <version>2.0.0-RC3</version>
+ <version>2.0.0-RC4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
- <version>2.0.0-RC3</version>
+ <version>2.0.0-RC4-SNAPSHOT</version>
</dependency>
<!-- and for testing, JUnit is needed, as well as quite a few
diff --git a/src/test/java/com/fasterxml/jackson/databind/TestGeneratorUsingMapper.java b/src/test/java/com/fasterxml/jackson/databind/TestGeneratorUsingMapper.java
index 9c11b7c..64a009f 100644
--- a/src/test/java/com/fasterxml/jackson/databind/TestGeneratorUsingMapper.java
+++ b/src/test/java/com/fasterxml/jackson/databind/TestGeneratorUsingMapper.java
@@ -5,6 +5,8 @@
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.SerializableString;
+import com.fasterxml.jackson.core.io.CharacterEscapes;
public class TestGeneratorUsingMapper extends BaseMapTest
{
@@ -48,4 +50,31 @@
}
}
+ public void testIssue820() throws IOException
+ {
+ StringBuffer sb = new StringBuffer();
+ while (sb.length() <= 5000) {
+ sb.append("Yet another line of text...\n");
+ }
+ String sampleText = sb.toString();
+ assertTrue(
+ "Sanity check so I don't mess up the sample text later.",
+ sampleText.contains("\n"));
+
+ final ObjectMapper mapper = new ObjectMapper();
+ final CharacterEscapes defaultCharacterEscapes = new CharacterEscapes() {
+ public int[] getEscapeCodesForAscii() {
+ return standardAsciiEscapesForJSON();
+ }
+
+ public SerializableString getEscapeSequence(final int ch) {
+ return null;
+ }
+ };
+
+ mapper.getJsonFactory().setCharacterEscapes(defaultCharacterEscapes);
+ String jacksonJson = mapper.writeValueAsString(sampleText);
+ boolean hasLFs = jacksonJson.indexOf('\n') > 0;
+ assertFalse("Should NOT contain linefeeds, should have been escaped", hasLFs);
+ }
}