aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java')
-rw-r--r--src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java b/src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java
index 4e14bbf3e..b684ff91f 100644
--- a/src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java
+++ b/src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.util.JsonParserSequence;
import com.fasterxml.jackson.databind.BaseMapTest;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.HeaderTokenizer;
public class TestTokenBuffer extends BaseMapTest
{
@@ -54,6 +55,41 @@ public class TestTokenBuffer extends BaseMapTest
buf.close();
}
+ public void testParentContext() throws IOException
+ {
+ TokenBuffer buf = new TokenBuffer(null, false); // no ObjectCodec
+ buf.writeStartObject();
+ buf.writeFieldName("b");
+ buf.writeStartObject();
+ buf.writeFieldName("c");
+ //This assertion succeeds as expected
+ assertEquals("b", buf.getOutputContext().getParent().getCurrentName());
+ buf.writeString("cval");
+ buf.writeEndObject();
+ buf.writeEndObject();
+ buf.close();
+ }
+
+ public void testParentSiblingContext() throws IOException
+ {
+ TokenBuffer buf = new TokenBuffer(null, false); // no ObjectCodec
+
+ buf.writeStartObject();
+ buf.writeFieldName("a");
+ buf.writeStartObject();
+ buf.writeEndObject();
+
+ buf.writeFieldName("b");
+ buf.writeStartObject();
+ buf.writeFieldName("c");
+ //This assertion fails (because of 'a')
+ assertEquals("b", buf.getOutputContext().getParent().getCurrentName());
+ buf.writeString("cval");
+ buf.writeEndObject();
+ buf.writeEndObject();
+ buf.close();
+ }
+
public void testSimpleArray() throws IOException
{
TokenBuffer buf = new TokenBuffer(null, false); // no ObjectCodec