2 new revisions:

Revision: 314d4a99a35e
Author:   Pekka Klärck
Date:     Thu May  5 14:07:27 2011
Log:      simplify handling java types with _convert_to_number
http://code.google.com/p/robotframework/source/detail?r=314d4a99a35e

Revision: b4b2cd280434
Author:   Pekka Klärck
Date:     Thu May  5 14:15:47 2011
Log:      fixed tests after ${42} -> int (not long)
http://code.google.com/p/robotframework/source/detail?r=b4b2cd280434

==============================================================================
Revision: 314d4a99a35e
Author:   Pekka Klärck
Date:     Thu May  5 14:07:27 2011
Log:      simplify handling java types with _convert_to_number
http://code.google.com/p/robotframework/source/detail?r=314d4a99a35e

Modified:
 /atest/testdata/standard_libraries/builtin/converter.txt
 /src/robot/libraries/BuiltIn.py

=======================================
--- /atest/testdata/standard_libraries/builtin/converter.txt Thu May 5 13:48:40 2011 +++ /atest/testdata/standard_libraries/builtin/converter.txt Thu May 5 14:07:27 2011
@@ -30,7 +30,7 @@
     Convert To Number  ${OBJECT_FAILING}

 Convert To Number With Java Objects
- [Documentation] FAIL STARTS: 'foobar' cannot be converted to a floating point number: NumberFormatException: + [Documentation] FAIL STARTS: 'foobar' cannot be converted to a floating point number: ValueError:
     Test Convert To Number  ${JAVA_STRING_INT}  ${1.0}
     Test Convert To Number  ${JAVA_STRING_FLOAT}  ${1.1}
     Test Convert To Number  ${JAVA_INTEGER}  ${1.0}
=======================================
--- /src/robot/libraries/BuiltIn.py     Thu May  5 13:48:40 2011
+++ /src/robot/libraries/BuiltIn.py     Thu May  5 14:07:27 2011
@@ -26,7 +26,7 @@
 from robot.version import get_version

 if utils.is_jython:
-    from java.lang import String, Number, Long, Double
+    from java.lang import String, Number


 class _Converter:
@@ -39,17 +39,17 @@
     def _convert_to_integer(self, item):
         try:
             if utils.is_jython:
-                item = self._handle_java_types(item)
+                item = self._handle_java_numbers(item)
             return int(item)
         except:
             raise RuntimeError("'%s' cannot be converted to an integer: %s"
                                % (item, utils.get_error_message()))

-    def _handle_java_types(self, item):
+    def _handle_java_numbers(self, item):
         if isinstance(item, String):
             return utils.unic(item)
         if isinstance(item, Number):
-            return item.longValue()
+            return item.doubleValue()
         return item

     def convert_to_number(self, item):
@@ -60,26 +60,15 @@
     def _convert_to_number(self, item):
         try:
             if utils.is_jython:
-                return self._jython_to_number(item)
+                item = self._handle_java_numbers(item)
             return float(item)
         except:
             error = utils.get_error_message()
             try:
                 return float(self._convert_to_integer(item))
             except RuntimeError:
- raise RuntimeError("'%s' cannot be converted to a floating point "
-                                 "number: %s" % (item, error))
-
-    def _jython_to_number(self, item):
-        # This helper handles Java Strings and Numbers
-        try:
-            return float(item)
-        except (TypeError, AttributeError):
-            if isinstance(item, String):
-                return Double.parseDouble(item)
-            if isinstance(item, Number):
-                return item.doubleValue()
-            raise
+ raise RuntimeError("'%s' cannot be converted to a floating "
+                                   "point number: %s" % (item, error))

     def convert_to_string(self, item):
         """Converts the given item to a Unicode string.

==============================================================================
Revision: b4b2cd280434
Author:   Pekka Klärck
Date:     Thu May  5 14:15:47 2011
Log:      fixed tests after ${42} -> int (not long)
http://code.google.com/p/robotframework/source/detail?r=b4b2cd280434

Modified:
 /atest/robot/keywords/trace_log_keyword_arguments.txt
 /atest/robot/standard_libraries/builtin/verify.txt
 /atest/testdata/keywords/return_values.txt

=======================================
--- /atest/robot/keywords/trace_log_keyword_arguments.txt Thu Aug 26 03:01:52 2010 +++ /atest/robot/keywords/trace_log_keyword_arguments.txt Thu May 5 14:15:47 2011
@@ -19,7 +19,7 @@
     ...  u'mandatory'

 Multiple Default Values
- Check Argument Value Trace \${a1}=u'10' | \${a2}=u'2' | \${a3}=u'30' | \${a4}=4L + Check Argument Value Trace \${a1}=u'10' | \${a2}=u'2' | \${a3}=u'30' | \${a4}=4
     ...  u'10' | a3=u'30'

 Named Arguments
@@ -48,8 +48,8 @@
 Non String Object as Argument
     Check Argument Value Trace  \${mand}=True | \${default}=1.0
     ...  True | default=1.0
-    ...  \${mand}=-123L | \@{vargs}=[1.0]
-    ...  -123L | 1.0
+    ...  \${mand}=-123 | \@{vargs}=[1.0]
+    ...  -123 | 1.0

 None as Argument
Check UK Default, Library KW Default, UK Varargs and Library KW Varargs None
=======================================
--- /atest/robot/standard_libraries/builtin/verify.txt Wed Apr 20 04:57:51 2011 +++ /atest/robot/standard_libraries/builtin/verify.txt Thu May 5 14:15:47 2011
@@ -32,18 +32,18 @@
 Should Not Be Equal
     ${tc}=  Check test case  ${TESTNAME}
     Verify argument type message  ${tc.kws[0].msgs[0]}  unicode  unicode
-    Verify argument type message  ${tc.kws[1].msgs[0]}  unicode  long
+    Verify argument type message  ${tc.kws[1].msgs[0]}  unicode  int
     Verify argument type message  ${tc.kws[2].msgs[0]}  unicode  unicode

 Should Be Equal
     ${tc}=  Check test case  ${TESTNAME}
     Verify argument type message  ${tc.kws[0].msgs[0]}  unicode  unicode
-    Verify argument type message  ${tc.kws[1].msgs[0]}  long  long
+    Verify argument type message  ${tc.kws[1].msgs[0]}  int  int
     Verify argument type message  ${tc.kws[2].msgs[0]}  unicode  unicode

 Should Be Equal When Types Differ But String Representations Are Same
     ${tc}=  Check test case  ${TESTNAME}
-    Verify argument type message  ${tc.kws[0].msgs[0]}  unicode  long
+    Verify argument type message  ${tc.kws[0].msgs[0]}  unicode  int

 Should Not Be Equal As Integers
     ${tc}=  Check test case  ${TESTNAME}
@@ -67,7 +67,7 @@

 Should Be Equal As Strings
     ${tc}=  Check test case  ${TESTNAME}
-    Verify argument type message  ${tc.kws[0].msgs[0]}  long  unicode
+    Verify argument type message  ${tc.kws[0].msgs[0]}  int  unicode

 Should Not Start With
     Check test case  ${TESTNAME}
=======================================
--- /atest/testdata/keywords/return_values.txt  Tue Jun  8 03:52:39 2010
+++ /atest/testdata/keywords/return_values.txt  Thu May  5 14:15:47 2011
@@ -103,7 +103,7 @@
     ${a}  ${b} =  Set Variable  This is not list

 List When No List Returned
- [Documentation] FAIL Cannot assign return values: Expected list-like object, got long instead. + [Documentation] FAIL Cannot assign return values: Expected list-like object, got int instead.
     @{list} =  Set Variable  ${42}

 List To Scalar And List Varibles

Reply via email to