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.