1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.input.compatibility;
18
19 import java.io.IOException;
20
21 import org.apache.commons.io.input.CharSequenceInputStream;
22 import org.apache.commons.io.input.XmlStreamReaderUtilitiesTest;
23
24
25
26
27 public class XmlStreamReaderUtilitiesCompatibilityTest extends XmlStreamReaderUtilitiesTest {
28
29
30 private static final class MockXmlStreamReader extends XmlStreamReader {
31 MockXmlStreamReader(final String defaultEncoding) throws IOException {
32 super(CharSequenceInputStream.builder().setCharSequence("").get(), null, true, defaultEncoding);
33 }
34 }
35 @Override
36 protected String calculateHttpEncoding(final String httpContentType, final String bomEnc, final String xmlGuessEnc,
37 final String xmlEnc, final boolean lenient, final String defaultEncoding) throws IOException {
38 try (MockXmlStreamReader mock = new MockXmlStreamReader(defaultEncoding)) {
39 return mock.calculateHttpEncoding(
40 XmlStreamReader.getContentTypeMime(httpContentType),
41 XmlStreamReader.getContentTypeEncoding(httpContentType),
42 bomEnc, xmlGuessEnc, xmlEnc, null, lenient);
43 }
44 }
45
46 @Override
47 protected String calculateRawEncoding(final String bomEnc, final String xmlGuessEnc, final String xmlEnc,
48 final String defaultEncoding) throws IOException {
49 try (MockXmlStreamReader mock = new MockXmlStreamReader(defaultEncoding)) {
50 return mock.calculateRawEncoding(bomEnc, xmlGuessEnc, xmlEnc, null);
51 }
52 }
53 }