1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.input;
18
19 import java.io.IOException;
20 import java.io.Reader;
21 import java.nio.CharBuffer;
22
23 import org.junit.jupiter.api.Test;
24
25
26
27
28 public class ProxyReaderTest {
29
30
31 private static final class CustomNullReader extends NullReader {
32 CustomNullReader(final int len) {
33 super(len);
34 }
35
36 @Override
37 public int read(final char[] chars) throws IOException {
38 return chars == null ? 0 : super.read(chars);
39 }
40
41 @Override
42 public int read(final CharBuffer target) throws IOException {
43 return target == null ? 0 : super.read(target);
44 }
45 }
46
47
48 private static final class ProxyReaderImpl extends ProxyReader {
49 ProxyReaderImpl(final Reader proxy) {
50 super(proxy);
51 }
52 }
53
54 @Test
55 public void testNullCharArray() throws Exception {
56 try (ProxyReader proxy = new ProxyReaderImpl(new CustomNullReader(0))) {
57 proxy.read((char[]) null);
58 proxy.read(null, 0, 0);
59 }
60 }
61
62 @Test
63 public void testNullCharBuffer() throws Exception {
64 try (ProxyReader proxy = new ProxyReaderImpl(new CustomNullReader(0))) {
65 proxy.read((CharBuffer) null);
66 }
67 }
68 }