1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.rat.header;
21
22
23 import org.junit.jupiter.api.BeforeEach;
24 import org.junit.jupiter.api.Test;
25
26 import java.io.StringReader;
27 import java.util.regex.Pattern;
28
29 import static org.junit.jupiter.api.Assertions.assertFalse;
30 import static org.junit.jupiter.api.Assertions.assertTrue;
31
32 public class HeaderMatcherWithBeansTest {
33
34 private HeaderMatcher matcher;
35 private SimpleCharFilter filter;
36 private HeaderBean[] beans;
37
38 @BeforeEach
39 public void setUp() throws Exception {
40 HeaderBean[] beans = {
41 new HeaderBean(),
42 new HeaderBean(),
43 new HeaderBean()
44 };
45 this.beans = beans;
46 filter = new SimpleCharFilter();
47 matcher = new HeaderMatcher(filter, 20, beans);
48 }
49
50 @Test
51 public void nulls() throws Exception {
52 beans[0].setMatch(false);
53 beans[1].setMatch(true);
54 beans[2].setMatch(false);
55 StringReader reader = new StringReader("Whatever");
56 matcher.read(reader);
57 assertFalse(beans[0].isMatch(),"State preserved");
58 assertTrue( beans[1].isMatch(),"State preserved");
59 assertFalse(beans[2].isMatch(), "State preserved");
60 beans[0].setMatch(true);
61 beans[1].setMatch(false);
62 beans[2].setMatch(true);
63 assertTrue(beans[0].isMatch(), "State preserved");
64 assertFalse(beans[1].isMatch(), "State preserved");
65 assertTrue(beans[2].isMatch(), "State preserved");
66 }
67
68 @Test
69 public void matches() throws Exception {
70 beans[0].setHeaderPattern(Pattern.compile("What(.*)"));
71 beans[1].setHeaderPattern(Pattern.compile("(.*)ever"));
72 beans[2].setHeaderPattern(Pattern.compile("What"));
73 StringReader reader = new StringReader("Whatever");
74 matcher.read(reader);
75 assertTrue(beans[0].isMatch(), "Match header pattern");
76 assertTrue(beans[1].isMatch(), "Match header pattern");
77 assertFalse(beans[2].isMatch(), "Match header pattern");
78 }
79 }