Revision: 2548
Author: janne.t.harkonen
Date: Thu Feb 25 06:05:54 2010
Log: Added test for array of unicode objects
http://code.google.com/p/robotframework/source/detail?r=2548
Modified:
/trunk/src/robot/utils/unic.py
/trunk/utest/utils/test_unic.py
=======================================
--- /trunk/src/robot/utils/unic.py Thu Feb 25 01:21:01 2010
+++ /trunk/src/robot/utils/unic.py Thu Feb 25 06:05:54 2010
@@ -24,11 +24,16 @@
def unic(item):
if isinstance(item, basestring):
return item
- if sys.version_info[:2] > (2,2) and isinstance(item, Object):
- if not isinstance(item, Class):
#http://bugs.jython.org/issue1564
- item = item.toString() # http://bugs.jython.org/issue1563
+ if sys.version_info[:2] > (2,2):
+ if hasattr(item, '__iter__'):
+ item = [ _to_string(i) for i in item ]
+ elif not isinstance(item, Class):
#http://bugs.jython.org/issue1564
+ item = _to_string(item) # http://bugs.jython.org/issue1563
return unicode(item)
+ def _to_string(item):
+ return isinstance(item, Object) and item.toString() or item
+
else:
def unic(item):
=======================================
--- /trunk/utest/utils/test_unic.py Thu Feb 25 01:22:12 2010
+++ /trunk/utest/utils/test_unic.py Thu Feb 25 06:05:54 2010
@@ -1,21 +1,26 @@
import unittest
from robot.utils import unic, is_jython
-from robot.utils.asserts import assert_equals
+from robot.utils.asserts import assert_equals, assert_true
if is_jython:
from java.lang import String
import JavaObject
+ import UnicodeJavaLibrary
class TestUnic(unittest.TestCase):
if is_jython:
- def test_unic_with_java_object(self):
+ def test_with_java_object(self):
data = u'This is unicode \xe4\xf6'
assert_equals(unic(JavaObject(data)), data)
- def test_unic_with_class_type(self):
+ def test_with_class_type(self):
assert_equals(unic(String('').getClass()), "<type 'java.lang.String'>")
+ def test_with_array_containing_unicode_objects(self):
+ assert_true('Circle is 360' in
+ unic(UnicodeJavaLibrary().javaObjectArray()))
+
if __name__ == '__main__':
unittest.main()