2 new revisions:

Revision: 4206884d6f51
Branch:   default
Author:   Pekka Klärck
Date:     Mon Dec  2 22:54:02 2013 UTC
Log:      islike: better support for java types
http://code.google.com/p/robotframework/source/detail?r=4206884d6f51

Revision: b1640e3134a8
Branch:   default
Author:   Pekka Klärck
Date:     Mon Dec  2 23:10:52 2013 UTC
Log:      Ooops, forgot tests from earlier commit...
http://code.google.com/p/robotframework/source/detail?r=b1640e3134a8

==============================================================================
Revision: 4206884d6f51
Branch:   default
Author:   Pekka Klärck
Date:     Mon Dec  2 22:54:02 2013 UTC
Log:      islike: better support for java types
http://code.google.com/p/robotframework/source/detail?r=4206884d6f51

Modified:
 /src/robot/utils/islike.py
 /utest/utils/test_islike.py

=======================================
--- /src/robot/utils/islike.py  Mon Dec  2 21:31:37 2013 UTC
+++ /src/robot/utils/islike.py  Mon Dec  2 22:54:02 2013 UTC
@@ -14,9 +14,10 @@

 import sys
 if sys.platform.startswith('java'):
+    from java.lang import String
     from java.util import Map
 else:
-    Map = ()
+    String = Map = ()
 try:
     from collections import Mapping
 except ImportError:  # New in 2.6
@@ -25,12 +26,12 @@
 from UserString import UserString


-def is_str_like(item):
-    return isinstance(item, (basestring, UserString))
-
+def is_str_like(item, allow_java=False):
+    return (isinstance(item, (basestring, UserString)) or
+            allow_java and isinstance(item, String))

 def is_list_like(item):
-    if is_str_like(item) or is_dict_like(item):
+ if is_str_like(item, allow_java=True) or is_dict_like(item, allow_java=True):
         return False
     try:
         iter(item)
=======================================
--- /utest/utils/test_islike.py Mon Dec  2 22:02:02 2013 UTC
+++ /utest/utils/test_islike.py Mon Dec  2 22:54:02 2013 UTC
@@ -5,6 +5,11 @@
     from collections import Mapping
 except ImportError:
     Mapping = dict
+try:
+    from java.lang import String
+    from java.util import HashMap
+except ImportError:
+    pass
 from array import array
 from UserDict import UserDict
 from UserList import UserList
@@ -40,6 +45,14 @@
         for thing in [dict(), UserDict(), MyMapping()]:
             assert_equals(is_list_like(thing), False, thing)

+    if sys.platform.startswith('java'):
+
+        def test_java_strings_are_not_list_like(self):
+            assert_equals(is_list_like(String()), False)
+
+        def test_java_dict_likes_are_not_list_like(self):
+            assert_equals(is_list_like(HashMap()), False)
+
     def test_other_iterables_are_list_like(self):
for thing in [[], (), set(), xrange(1), generator(), array('i'), UserList()]:
             assert_equals(is_list_like(thing), True, thing)
@@ -67,15 +80,13 @@
         for thing in ['', u'', 1, None, True, object(), [], (), set()]:
             assert_equals(is_dict_like(thing), False, thing)

-    def test_java(self):
+    def test_allow_java(self):
+        assert_equals(is_dict_like({}, allow_java=True), True)
+        assert_equals(is_dict_like([], allow_java=True), False)
         if sys.platform.startswith('java'):
-            from java.util import HashMap
             assert_equals(is_dict_like(HashMap()), False)
             assert_equals(is_dict_like(HashMap(), allow_java=True), True)
             assert_equals(is_dict_like([], allow_java=True), False)
-        else:
-            assert_equals(is_dict_like({}, allow_java=True), True)
-            assert_equals(is_dict_like([], allow_java=True), False)


 class TestStringlike(unittest.TestCase):
@@ -88,6 +99,14 @@
         for thing in [1, None, True, object(), [], (), {}]:
             assert_equals(is_str_like(thing), False, thing)

+    def test_allow_java(self):
+        assert_equals(is_str_like('', allow_java=True), True)
+        assert_equals(is_str_like([], allow_java=True), False)
+        if sys.platform.startswith('java'):
+            assert_equals(is_str_like(String()), False)
+            assert_equals(is_str_like(String(), allow_java=True), True)
+            assert_equals(is_str_like([], allow_java=True), False)
+

 if __name__ == "__main__":
     unittest.main()

==============================================================================
Revision: b1640e3134a8
Branch:   default
Author:   Pekka Klärck
Date:     Mon Dec  2 23:10:52 2013 UTC
Log:      Ooops, forgot tests from earlier commit

Update issue 1583
Tests for dicts not generally being converted to kwargs were missing from the previous commit.
http://code.google.com/p/robotframework/source/detail?r=b1640e3134a8

Modified:
 /atest/robot/keywords/named_args/with_python_keywords.txt
 /atest/testdata/keywords/named_args/with_python_keywords.txt

=======================================
--- /atest/robot/keywords/named_args/with_python_keywords.txt Mon Sep 23 12:45:27 2013 UTC +++ /atest/robot/keywords/named_args/with_python_keywords.txt Mon Dec 2 23:10:52 2013 UTC
@@ -88,3 +88,6 @@

 Empty string is allowed in kwargs names
     Check Test Case    ${TESTNAME}
+
+Dict is not converted to kwargs
+    Check Test Case    ${TESTNAME}
=======================================
--- /atest/testdata/keywords/named_args/with_python_keywords.txt Mon Sep 23 12:45:27 2013 UTC +++ /atest/testdata/keywords/named_args/with_python_keywords.txt Mon Dec 2 23:10:52 2013 UTC
@@ -2,6 +2,7 @@
 Library           KwargsLibrary.py
 Library           helper.py
 Library           python_library.py
+Library           Collections

 *** Test Cases ***
 Simple Named
@@ -195,6 +196,11 @@
 Empty string is allowed in kwargs names
     ${res} =    Lib Mandatory Named varargs and kwargs    a    b    =whut
     Should be equal    a, b, :whut    ${res}
+
+Dict is not converted to kwargs
+ [Documentation] FAIL Keyword 'python_library.Lib Kwargs' expected 0 non-keyword arguments, got 1.
+    ${dict} =    Create Dictionary   a=1    b=2
+    lib_kwargs    ${dict}

 *** Keywords ***
 Execute working combinations with everything

--

--- You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to robotframework-commit+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to