This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-io.git
commit 9aa8605b1821170e1dfe03960139902d2313fea1 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Wed Oct 4 08:34:54 2023 -0400 [IO-815] More XmlStreamReader testing: ctor and builder --- .../org/apache/commons/io/input/XmlStreamReaderTest.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java b/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java index 38296f75..1b40d09f 100644 --- a/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java +++ b/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java @@ -42,6 +42,7 @@ import java.util.Locale; import java.util.Map; import org.apache.commons.io.IOUtils; +import org.apache.commons.io.function.IOFunction; import org.junit.jupiter.api.Test; import org.junitpioneer.jupiter.DefaultLocale; @@ -573,11 +574,10 @@ public class XmlStreamReaderTest { testRawNoBomValid(UTF_8); } - private void parseCharset(final String hdr, final String enc) throws Exception { + private void parseCharset(final String hdr, final String enc, final IOFunction<InputStream, XmlStreamReader> factory) throws Exception { try (final InputStream stream = new ByteArrayInputStream(hdr.getBytes(StandardCharsets.UTF_8))) { - try (final XmlStreamReader xml = new XmlStreamReader(stream)) { - final String getenc = xml.getEncoding(); - assertEquals(enc.toUpperCase(Locale.ROOT), getenc, enc); + try (final XmlStreamReader xml = factory.apply(stream)) { + assertEquals(enc.toUpperCase(Locale.ROOT), xml.getEncoding(), enc); } } } @@ -587,9 +587,13 @@ public class XmlStreamReaderTest { final MessageFormat fmt = new MessageFormat("<?xml version=\"1.0\" encoding=''{0}''?>\n<root>text</root>"); for (final Map.Entry<String, Charset> entry : Charset.availableCharsets().entrySet()) { final String csName = entry.getKey(); - parseCharset(fmt.format(new Object[] { csName }), csName); + final IOFunction<InputStream, XmlStreamReader> factoryCtor = XmlStreamReader::new; + final IOFunction<InputStream, XmlStreamReader> factoryBuilder = stream -> XmlStreamReader.builder().setInputStream(stream).get(); + parseCharset(fmt.format(new Object[] { csName }), csName, factoryCtor); + parseCharset(fmt.format(new Object[] { csName }), csName, factoryBuilder); for (final String alias : entry.getValue().aliases()) { - parseCharset(fmt.format(new Object[] { alias }), alias); + parseCharset(fmt.format(new Object[] { alias }), alias, factoryCtor); + parseCharset(fmt.format(new Object[] { alias }), alias, factoryBuilder); } } }