@@ -191,8 +191,36 @@ public void testSetClientNoContextTakeover() {
191191 @ Test
192192 public void testCopyInstance () {
193193 PerMessageDeflateExtension deflateExtension = new PerMessageDeflateExtension ();
194- IExtension newDeflateExtension = deflateExtension .copyInstance ();
195- assertEquals (deflateExtension .toString (), newDeflateExtension .toString ());
194+ PerMessageDeflateExtension newDeflateExtension = (PerMessageDeflateExtension )deflateExtension .copyInstance ();
195+ assertEquals ("PerMessageDeflateExtension" , newDeflateExtension .toString ());
196+ // Also check the values
197+ assertEquals (deflateExtension .getThreshold (), newDeflateExtension .getThreshold ());
198+ assertEquals (deflateExtension .isClientNoContextTakeover (), newDeflateExtension .isClientNoContextTakeover ());
199+ assertEquals (deflateExtension .isServerNoContextTakeover (), newDeflateExtension .isServerNoContextTakeover ());
200+ // Adjust this to the factory
201+ //assertEquals(deflateExtension.getDeflater(), newDeflateExtension.getDeflater());
202+ //assertEquals(deflateExtension.getInflater(), newDeflateExtension.getInflater());
203+
204+ deflateExtension = new PerMessageDeflateExtension ();
205+ deflateExtension .setThreshold (512 );
206+ deflateExtension .setServerNoContextTakeover (false );
207+ deflateExtension .setClientNoContextTakeover (true );
208+ newDeflateExtension = (PerMessageDeflateExtension )deflateExtension .copyInstance ();
209+
210+ assertEquals (deflateExtension .getThreshold (), newDeflateExtension .getThreshold ());
211+ assertEquals (deflateExtension .isClientNoContextTakeover (), newDeflateExtension .isClientNoContextTakeover ());
212+ assertEquals (deflateExtension .isServerNoContextTakeover (), newDeflateExtension .isServerNoContextTakeover ());
213+
214+
215+ deflateExtension = new PerMessageDeflateExtension ();
216+ deflateExtension .setThreshold (64 );
217+ deflateExtension .setServerNoContextTakeover (true );
218+ deflateExtension .setClientNoContextTakeover (false );
219+ newDeflateExtension = (PerMessageDeflateExtension )deflateExtension .copyInstance ();
220+
221+ assertEquals (deflateExtension .getThreshold (), newDeflateExtension .getThreshold ());
222+ assertEquals (deflateExtension .isClientNoContextTakeover (), newDeflateExtension .isClientNoContextTakeover ());
223+ assertEquals (deflateExtension .isServerNoContextTakeover (), newDeflateExtension .isServerNoContextTakeover ());
196224 }
197225
198226 @ Test
@@ -222,4 +250,11 @@ public void testSetDeflater() {
222250 assertEquals (deflateExtension .getDeflater ().finished (),
223251 new Deflater (Deflater .DEFAULT_COMPRESSION , false ).finished ());
224252 }
253+ @ Test
254+ public void testDefaults () {
255+ PerMessageDeflateExtension deflateExtension = new PerMessageDeflateExtension ();
256+ assertFalse (deflateExtension .isClientNoContextTakeover ());
257+ assertTrue (deflateExtension .isServerNoContextTakeover ());
258+ assertEquals (1024 , deflateExtension .getThreshold ());
259+ }
225260}
0 commit comments