@@ -2227,6 +2227,45 @@ public void testNoCompressionEncodings() {
22272227 Assert .assertFalse (newEncodings .contains ("gzip" ));
22282228 }
22292229
2230+ @ Test
2231+ public void testDefaultAutoRegistration () {
2232+ Http11NioProtocol protocol = new Http11NioProtocol ();
2233+
2234+ // No factory configured - getOutputFilterFactories should auto-register GzipOutputFilterFactory
2235+ List <OutputFilterFactory > factories = protocol .getOutputFilterFactories ();
2236+ Assert .assertFalse (factories .isEmpty ());
2237+ Assert .assertEquals (1 , factories .size ());
2238+ Assert .assertTrue (factories .get (0 ) instanceof GzipOutputFilterFactory );
2239+ }
2240+
2241+ @ Test
2242+ public void testAddOutputFilterFactory () {
2243+ Http11NioProtocol protocol = new Http11NioProtocol ();
2244+
2245+ // Explicitly add a factory - should suppress default auto-registration
2246+ MockOutputFilterFactory mock = new MockOutputFilterFactory ();
2247+ protocol .addOutputFilterFactory (mock );
2248+
2249+ List <OutputFilterFactory > factories = protocol .getOutputFilterFactories ();
2250+ Assert .assertEquals (1 , factories .size ());
2251+ Assert .assertSame (mock , factories .get (0 ));
2252+ }
2253+
2254+ @ Test
2255+ public void testAddMultipleOutputFilterFactories () {
2256+ Http11NioProtocol protocol = new Http11NioProtocol ();
2257+
2258+ GzipOutputFilterFactory gzip = new GzipOutputFilterFactory ();
2259+ MockOutputFilterFactory mock = new MockOutputFilterFactory ();
2260+ protocol .addOutputFilterFactory (gzip );
2261+ protocol .addOutputFilterFactory (mock );
2262+
2263+ List <OutputFilterFactory > factories = protocol .getOutputFilterFactories ();
2264+ Assert .assertEquals (2 , factories .size ());
2265+ Assert .assertSame (gzip , factories .get (0 ));
2266+ Assert .assertSame (mock , factories .get (1 ));
2267+ }
2268+
22302269 private static class EarlyHintsServlet extends HttpServlet {
22312270
22322271 private static final long serialVersionUID = 1L ;
0 commit comments