1
1
import sys
2
2
3
3
import pytest
4
+ from robot import __version__ as robot__version
4
5
5
6
from robotlibcore import HybridCore
6
-
7
7
from HybridLibrary import HybridLibrary
8
8
from DynamicLibrary import DynamicLibrary
9
9
@@ -36,6 +36,8 @@ def test_dir():
36
36
'_DynamicCore__get_keyword_tags_supported' ,
37
37
'_DynamicCore__get_typing_hints' ,
38
38
'_DynamicCore__join_defaults_with_types' ,
39
+ '_DynamicCore__new_arg_spec' ,
40
+ '_DynamicCore__old_arg_spec' ,
39
41
'_HybridCore__get_members' ,
40
42
'_HybridCore__get_members_from_instance' ,
41
43
'_custom_name' ,
@@ -72,6 +74,8 @@ def test_dir():
72
74
'_DynamicCore__get_keyword_path' ,
73
75
'_DynamicCore__get_keyword_tags_supported' ,
74
76
'_DynamicCore__join_defaults_with_types' ,
77
+ '_DynamicCore__new_arg_spec' ,
78
+ '_DynamicCore__old_arg_spec' ,
75
79
'get_keyword_arguments' ,
76
80
'get_keyword_documentation' ,
77
81
'get_keyword_source' ,
@@ -94,14 +98,26 @@ def test_getattr():
94
98
assert str (exc_info .value ) == \
95
99
"'%s' object has no attribute 'non_existing'" % type (lib ).__name__
96
100
97
-
98
- def test_get_keyword_arguments ():
101
+ @ pytest . mark . skipif ( robot__version >= '3.2' , reason = 'For RF 3.1' )
102
+ def test_get_keyword_arguments_rf31 ():
99
103
args = DynamicLibrary ().get_keyword_arguments
100
104
assert args ('mandatory' ) == ['arg1' , 'arg2' ]
101
105
assert args ('defaults' ) == ['arg1' , 'arg2=default' , 'arg3=3' ]
102
106
assert args ('varargs_and_kwargs' ) == ['*args' , '**kws' ]
103
107
assert args ('all_arguments' ) == ['mandatory' , 'default=value' , '*varargs' , '**kwargs' ]
104
108
assert args ('__init__' ) == ['arg=None' ]
109
+ assert args ('__foobar__' ) == []
110
+
111
+
112
+ @pytest .mark .skipif (robot__version < '3.2' , reason = 'For RF 3.2 or greater' )
113
+ def test_get_keyword_arguments_rf32 ():
114
+ args = DynamicLibrary ().get_keyword_arguments
115
+ assert args ('mandatory' ) == [('arg1' , ), ('arg2' , )]
116
+ assert args ('defaults' ) == [('arg1' , ), ('arg2' , 'default' ), ('arg3' , 3 )]
117
+ assert args ('varargs_and_kwargs' ) == [('*args' , ), ('**kws' , )]
118
+ assert args ('all_arguments' ) == [('mandatory' , ), ('default' , 'value' ), ('*varargs' , ), ('**kwargs' , )]
119
+ assert args ('__init__' ) == [('arg' , None )]
120
+ assert args ('__foobar__' ) == [()]
105
121
106
122
107
123
def test_get_keyword_documentation ():
0 commit comments