#748 - PR comments - follow convention of configuration builder.

This commit is contained in:
rudrajyoti biswas 2023-10-28 07:36:31 +05:30
parent c05d7058ff
commit 8ec822c575
2 changed files with 27 additions and 9 deletions

View File

@ -320,8 +320,9 @@ public class XMLParserConfiguration extends ParserConfiguration {
* @return same instance of configuration with empty tag config updated * @return same instance of configuration with empty tag config updated
*/ */
public XMLParserConfiguration withCloseEmptyTag(boolean closeEmptyTag){ public XMLParserConfiguration withCloseEmptyTag(boolean closeEmptyTag){
this.closeEmptyTag = closeEmptyTag; XMLParserConfiguration clonedConfiguration = this.clone();
return this; clonedConfiguration.closeEmptyTag = closeEmptyTag;
return clonedConfiguration;
} }
public boolean isCloseEmptyTag() { public boolean isCloseEmptyTag() {

View File

@ -4,11 +4,6 @@ package org.json.junit;
Public Domain. Public Domain.
*/ */
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.FileWriter; import java.io.FileWriter;
@ -27,6 +22,8 @@ import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.rules.TemporaryFolder; import org.junit.rules.TemporaryFolder;
import static org.junit.Assert.*;
/** /**
* Tests for JSON-Java XML.java with XMLParserConfiguration.java * Tests for JSON-Java XML.java with XMLParserConfiguration.java
@ -564,8 +561,28 @@ public class XMLConfigurationTest {
inputJSON.put("Emptyness", ""); inputJSON.put("Emptyness", "");
String expectedXmlWithoutExplicitEndTag = "<Emptyness/>"; String expectedXmlWithoutExplicitEndTag = "<Emptyness/>";
String expectedXmlWithExplicitEndTag = "<Emptyness></Emptyness>"; String expectedXmlWithExplicitEndTag = "<Emptyness></Emptyness>";
assertEquals(expectedXmlWithoutExplicitEndTag, XML.toString(inputJSON, null, new XMLParserConfiguration().withCloseEmptyTag(false))); assertEquals(expectedXmlWithoutExplicitEndTag, XML.toString(inputJSON, null,
assertEquals(expectedXmlWithExplicitEndTag, XML.toString(inputJSON, null, new XMLParserConfiguration().withCloseEmptyTag(true))); new XMLParserConfiguration().withCloseEmptyTag(false)));
assertEquals(expectedXmlWithExplicitEndTag, XML.toString(inputJSON, null,
new XMLParserConfiguration().withCloseEmptyTag(true)));
}
@Test
public void shouldKeepConfigurationIntactAndUpdateCloseEmptyTagChoice()
{
XMLParserConfiguration keepStrings = XMLParserConfiguration.KEEP_STRINGS;
XMLParserConfiguration keepStringsAndCloseEmptyTag = keepStrings.withCloseEmptyTag(true);
XMLParserConfiguration keepDigits = keepStringsAndCloseEmptyTag.withKeepStrings(false);
XMLParserConfiguration keepDigitsAndNoCloseEmptyTag = keepDigits.withCloseEmptyTag(false);
assertTrue(keepStrings.isKeepStrings());
assertFalse(keepStrings.isCloseEmptyTag());
assertTrue(keepStringsAndCloseEmptyTag.isKeepStrings());
assertTrue(keepStringsAndCloseEmptyTag.isCloseEmptyTag());
assertFalse(keepDigits.isKeepStrings());
assertTrue(keepDigits.isCloseEmptyTag());
assertFalse(keepDigitsAndNoCloseEmptyTag.isKeepStrings());
assertFalse(keepDigitsAndNoCloseEmptyTag.isCloseEmptyTag());
} }
/** /**