Skip to content

Commit dcc7087

Browse files
committed
Further cleanup for #1253 wrt 2.8
1 parent e98a273 commit dcc7087

File tree

3 files changed

+24
-38
lines changed

3 files changed

+24
-38
lines changed

src/main/java/com/fasterxml/jackson/databind/util/TokenBuffer.java

+1
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,7 @@ public final void writeStartObject() throws IOException
650650
@Override // since 2.8
651651
public void writeStartObject(Object forValue) throws IOException
652652
{
653+
_writeContext.writeValue();
653654
_append(JsonToken.START_OBJECT);
654655
JsonWriteContext ctxt = _writeContext.createChildObjectContext();
655656
_writeContext = ctxt;

src/test/java/com/fasterxml/jackson/databind/util/TestTokenBuffer.java

+23
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,29 @@ private void _verifyOutputContext(JsonStreamContext ctxt1, JsonStreamContext ctx
359359
_verifyOutputContext(ctxt1.getParent(), ctxt2.getParent());
360360
}
361361

362+
// [databind#1253]
363+
public void testParentSiblingContext() throws IOException
364+
{
365+
TokenBuffer buf = new TokenBuffer(null, false); // no ObjectCodec
366+
367+
// {"a":{},"b":{"c":"cval"}}
368+
369+
buf.writeStartObject();
370+
buf.writeFieldName("a");
371+
buf.writeStartObject();
372+
buf.writeEndObject();
373+
374+
buf.writeFieldName("b");
375+
buf.writeStartObject();
376+
buf.writeFieldName("c");
377+
//This assertion fails (because of 'a')
378+
assertEquals("b", buf.getOutputContext().getParent().getCurrentName());
379+
buf.writeString("cval");
380+
buf.writeEndObject();
381+
buf.writeEndObject();
382+
buf.close();
383+
}
384+
362385
/*
363386
/**********************************************************
364387
/* Tests to verify interaction of TokenBuffer and JsonParserSequence

src/test/java/com/fasterxml/jackson/failing/TestTokenBuffer.java

-38
This file was deleted.

0 commit comments

Comments
 (0)