1717package org .apache .coyote ;
1818
1919import java .util .ArrayList ;
20+ import java .util .Arrays ;
2021import java .util .Collection ;
2122import java .util .List ;
2223
@@ -33,29 +34,30 @@ public class TestCompressionConfig {
3334 public static Collection <Object []> parameters () {
3435 List <Object []> parameterSets = new ArrayList <>();
3536
36- parameterSets .add (new Object [] { new String [] { }, null , Boolean .FALSE , Boolean .FALSE });
37- parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
38- parameterSets .add (new Object [] { new String [] { "xgzip" }, null , Boolean .FALSE , Boolean .FALSE });
39- parameterSets .add (new Object [] { new String [] { "<>gzip" }, null , Boolean .FALSE , Boolean .FALSE });
40- parameterSets .add (new Object [] { new String [] { "foo" , "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
41- parameterSets .add (new Object [] { new String [] { "<>" , "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
37+ parameterSets .add (new Object [] { new String [] {}, null , Boolean .FALSE , Boolean .FALSE });
38+ parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
39+ parameterSets .add (new Object [] { new String [] { "xgzip" }, null , Boolean .FALSE , Boolean .FALSE });
40+ parameterSets .add (new Object [] { new String [] { "<>gzip" }, null , Boolean .FALSE , Boolean .FALSE });
41+ parameterSets .add (new Object [] { new String [] { "foo" , "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
42+ parameterSets .add (new Object [] { new String [] { "<>" , "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
4243
43- parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
44- parameterSets .add (new Object [] { new String [] { "gzip" }, "W/" , Boolean .TRUE , Boolean .FALSE });
45- parameterSets .add (new Object [] { new String [] { "gzip" }, "XX" , Boolean .FALSE , Boolean .FALSE });
44+ parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .FALSE });
45+ parameterSets .add (new Object [] { new String [] { "gzip" }, "W/" , Boolean .TRUE , Boolean .FALSE });
46+ parameterSets .add (new Object [] { new String [] { "gzip" }, "XX" , Boolean .FALSE , Boolean .FALSE });
4647
47- parameterSets .add (new Object [] { new String [] { }, null , Boolean .FALSE , Boolean .TRUE });
48- parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
49- parameterSets .add (new Object [] { new String [] { "xgzip" }, null , Boolean .FALSE , Boolean .TRUE });
50- parameterSets .add (new Object [] { new String [] { "<>gzip" }, null , Boolean .FALSE , Boolean .TRUE });
51- parameterSets .add (new Object [] { new String [] { "foo" , "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
52- parameterSets .add (new Object [] { new String [] { "<>" , "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
48+ parameterSets .add (new Object [] { new String [] {}, null , Boolean .FALSE , Boolean .TRUE });
49+ parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
50+ parameterSets .add (new Object [] { new String [] { "xgzip" }, null , Boolean .FALSE , Boolean .TRUE });
51+ parameterSets .add (new Object [] { new String [] { "<>gzip" }, null , Boolean .FALSE , Boolean .TRUE });
52+ parameterSets .add (new Object [] { new String [] { "foo" , "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
53+ parameterSets .add (new Object [] { new String [] { "<>" , "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
5354
54- parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
55- parameterSets .add (new Object [] { new String [] { "gzip" }, "W/" , Boolean .TRUE , Boolean .TRUE });
56- parameterSets .add (new Object [] { new String [] { "gzip" }, "XX" , Boolean .TRUE , Boolean .TRUE });
55+ parameterSets .add (new Object [] { new String [] { "gzip" }, null , Boolean .TRUE , Boolean .TRUE });
56+ parameterSets .add (new Object [] { new String [] { "gzip" }, "W/" , Boolean .TRUE , Boolean .TRUE });
57+ parameterSets .add (new Object [] { new String [] { "gzip" }, "XX" , Boolean .TRUE , Boolean .TRUE });
5758
58- parameterSets .add (new Object [] { new String [] { "foobar;foo=bar, gzip;bla=\" quoted\" " }, "XX" , Boolean .TRUE , Boolean .TRUE });
59+ parameterSets .add (new Object [] { new String [] { "foobar;foo=bar, gzip;bla=\" quoted\" " }, "XX" , Boolean .TRUE ,
60+ Boolean .TRUE });
5961
6062 return parameterSets ;
6163 }
@@ -110,4 +112,18 @@ public void testUseCompression() throws Exception {
110112 }
111113 }
112114 }
115+
116+
117+ @ Test
118+ public void testNoCompressionEncodings () {
119+ CompressionConfig config = new CompressionConfig ();
120+ String encodings = config .getNoCompressionEncodings ();
121+ Assert .assertTrue (Arrays .asList ("br" , "compress" , "dcb" , "dcz" , "deflate" , "gzip" , "pack200-gzip" , "zstd" )
122+ .stream ().anyMatch (encodings ::contains ));
123+
124+ config .setNoCompressionEncodings ("br" );
125+ String newEncodings = config .getNoCompressionEncodings ();
126+ Assert .assertTrue (newEncodings .contains ("br" ));
127+ Assert .assertFalse (newEncodings .contains ("gzip" ));
128+ }
113129}
0 commit comments