mx4j/src/test/test/javax/management/modelmbean DescriptorSupportTest.java,1.17,1.18
Simone Bordet <[email protected]> Tue, 07 Sep 2004 15:00:16 +0000
| Newsgroups | gmane.comp.java.mx4j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/mx4j/mx4j/src/test/test/javax/management/modelmbean
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11771/src/test/test/javax/management/modelmbean
Modified Files:
DescriptorSupportTest.java
Log Message:
Fix and test for bug #938635: DescriptorSupport does not preserve case
Index: DescriptorSupportTest.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/test/test/javax/management/modelmbean/DescriptorSupportTest.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** DescriptorSupportTest.java 4 Sep 2004 15:44:21 -0000 1.17
--- DescriptorSupportTest.java 7 Sep 2004 15:00:13 -0000 1.18
***************
*** 9,12 ****
--- 9,16 ----
package test.javax.management.modelmbean;
+ import java.io.ByteArrayInputStream;
+ import java.io.ByteArrayOutputStream;
+ import java.io.ObjectInputStream;
+ import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
***************
*** 164,167 ****
--- 168,220 ----
}
+ public void testCaseSensitivityPreserved() throws Exception
+ {
+ String[] names = {"Name", "DescriptorType"};
+ String[] values = {"test", "mbean"};
+ DescriptorSupport descriptor = new DescriptorSupport(names, values);
+
+ // Check case insensitivity on get
+ String value = (String)descriptor.getFieldValue("name");
+ assertNotNull(value);
+ assertEquals(value, values[0]);
+ value = (String)descriptor.getFieldValue("descriptorType");
+ assertNotNull(value);
+ assertEquals(value, values[1]);
+
+ // Be sure case is preserved
+ String[] fieldNames = descriptor.getFieldNames();
+ assertNotNull(fieldNames);
+ assertEquals(fieldNames.length, 2);
+ if (!fieldNames[0].equals(names[0]) && !fieldNames[0].equals(names[1])) fail();
+ if (!fieldNames[1].equals(names[0]) && !fieldNames[1].equals(names[1])) fail();
+
+ // Check serialization works
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(descriptor);
+ oos.close();
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ DescriptorSupport newDescriptor = (DescriptorSupport)ois.readObject();
+ value = (String)newDescriptor.getFieldValue("name");
+ assertNotNull(value);
+ assertEquals(value, values[0]);
+ // Be sure case is preserved
+ fieldNames = newDescriptor.getFieldNames();
+ assertNotNull(fieldNames);
+ assertEquals(fieldNames.length, 2);
+ if (!fieldNames[0].equals(names[0]) && !fieldNames[0].equals(names[1])) fail();
+ if (!fieldNames[1].equals(names[0]) && !fieldNames[1].equals(names[1])) fail();
+
+ // Check that removeField() really removes the field, no matter case sensitivity
+ descriptor.removeField("name");
+ value = (String)descriptor.getFieldValue("name");
+ assertNull(value);
+ fieldNames = descriptor.getFieldNames();
+ assertNotNull(fieldNames);
+ assertEquals(fieldNames.length, 1);
+ assertEquals(fieldNames[0], names[1]);
+ }
+
public void testDefaultFieldValuesSize() throws Exception
{
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click