From: <pj...@us...> - 2009-03-27 23:22:15
|
Revision: 6112 http://jython.svn.sourceforge.net/jython/?rev=6112&view=rev Author: pjenvey Date: 2009-03-27 23:21:59 +0000 (Fri, 27 Mar 2009) Log Message: ----------- fix type serialization broken by the now fully qualified type names thanks Sergei fixes #1282 Modified Paths: -------------- trunk/jython/Lib/test/test_java_integration.py trunk/jython/src/org/python/core/PyType.java Modified: trunk/jython/Lib/test/test_java_integration.py =================================================================== --- trunk/jython/Lib/test/test_java_integration.py 2009-03-27 21:44:57 UTC (rev 6111) +++ trunk/jython/Lib/test/test_java_integration.py 2009-03-27 23:21:59 UTC (rev 6112) @@ -10,8 +10,9 @@ from java.lang import (ClassCastException, ExceptionInInitializerError, String, Runnable, System, Runtime, Math, Byte) from java.math import BigDecimal, BigInteger -from java.io import (File, FileInputStream, FileNotFoundException, FileOutputStream, FileWriter, - OutputStreamWriter, UnsupportedEncodingException) +from java.io import (ByteArrayInputStream, ByteArrayOutputStream, File, FileInputStream, + FileNotFoundException, FileOutputStream, FileWriter, ObjectInputStream, + ObjectOutputStream, OutputStreamWriter, UnsupportedEncodingException) from java.util import ArrayList, Date, HashMap, Hashtable, StringTokenizer, Vector from java.awt import Dimension, Color, Component, Container @@ -425,6 +426,19 @@ self.assertRaises(TypeError, __import__, "org.python.tests.mro.ConfusedOnImport") self.assertRaises(TypeError, GetitemAdder.addPostdefined) +class SerializationTest(unittest.TestCase): + + def test_java_serialization(self): + date_list = [Date(), Date()] + output = ByteArrayOutputStream() + serializer = ObjectOutputStream(output) + serializer.writeObject(date_list) + serializer.close() + + input = ByteArrayInputStream(output.toByteArray()) + unserializer = ObjectInputStream(input) + self.assertEqual(date_list, unserializer.readObject()) + def test_main(): test_support.run_unittest(InstantiationTest, BeanTest, @@ -439,7 +453,8 @@ JavaStringTest, JavaDelegationTest, SecurityManagerTest, - JavaWrapperCustomizationTest) + JavaWrapperCustomizationTest, + SerializationTest) if __name__ == "__main__": test_main() Modified: trunk/jython/src/org/python/core/PyType.java =================================================================== --- trunk/jython/src/org/python/core/PyType.java 2009-03-27 21:44:57 UTC (rev 6111) +++ trunk/jython/src/org/python/core/PyType.java 2009-03-27 23:21:59 UTC (rev 6112) @@ -1376,7 +1376,7 @@ /** Used when serializing this type. */ protected Object writeReplace() { - return new TypeResolver(underlying_class, getModule().toString(), name); + return new TypeResolver(underlying_class, getModule().toString(), getName()); } private interface OnType { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |