Skip to content

Commit 87d8764

Browse files
committed
[TEST] add unit test for XContentHelper#toXContent method
1 parent 3421e54 commit 87d8764

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

core/src/test/java/org/elasticsearch/common/xcontent/support/XContentHelperTests.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,15 @@
1919

2020
package org.elasticsearch.common.xcontent.support;
2121

22+
import org.elasticsearch.common.bytes.BytesReference;
23+
import org.elasticsearch.common.xcontent.ToXContent;
2224
import org.elasticsearch.common.xcontent.XContentHelper;
25+
import org.elasticsearch.common.xcontent.XContentParser;
26+
import org.elasticsearch.common.xcontent.XContentType;
2327
import org.elasticsearch.test.ESTestCase;
2428
import org.hamcrest.Matchers;
2529

30+
import java.io.IOException;
2631
import java.util.Arrays;
2732
import java.util.HashMap;
2833
import java.util.List;
@@ -61,5 +66,27 @@ public void testMergingListValuesAreMapsOfOne() {
6166
assertThat(content, Matchers.equalTo(expected));
6267
}
6368

64-
69+
public void testToXContentWrapInObject() throws IOException {
70+
boolean wrapInObject = randomBoolean();
71+
XContentType xContentType = randomFrom(XContentType.values());
72+
ToXContent toXContent = (builder, params) -> {
73+
if (wrapInObject == false) {
74+
builder.startObject();
75+
}
76+
builder.field("field", "value");
77+
if (wrapInObject == false) {
78+
builder.endObject();
79+
}
80+
return builder;
81+
};
82+
BytesReference bytes = XContentHelper.toXContent(toXContent, xContentType, wrapInObject);
83+
try (XContentParser parser = xContentType.xContent().createParser(bytes)) {
84+
assertEquals(XContentParser.Token.START_OBJECT, parser.nextToken());
85+
assertEquals(XContentParser.Token.FIELD_NAME, parser.nextToken());
86+
assertTrue(parser.nextToken().isValue());
87+
assertEquals("value", parser.text());
88+
assertEquals(XContentParser.Token.END_OBJECT, parser.nextToken());
89+
assertNull(parser.nextToken());
90+
}
91+
}
6592
}

0 commit comments

Comments
 (0)