11import sys
22
33import pytest
4+ from robot import __version__ as robot__version
45
56from robotlibcore import HybridCore
6-
77from HybridLibrary import HybridLibrary
88from DynamicLibrary import DynamicLibrary
99
@@ -36,6 +36,8 @@ def test_dir():
3636 '_DynamicCore__get_keyword_tags_supported' ,
3737 '_DynamicCore__get_typing_hints' ,
3838 '_DynamicCore__join_defaults_with_types' ,
39+ '_DynamicCore__new_arg_spec' ,
40+ '_DynamicCore__old_arg_spec' ,
3941 '_HybridCore__get_members' ,
4042 '_HybridCore__get_members_from_instance' ,
4143 '_custom_name' ,
@@ -72,6 +74,8 @@ def test_dir():
7274 '_DynamicCore__get_keyword_path' ,
7375 '_DynamicCore__get_keyword_tags_supported' ,
7476 '_DynamicCore__join_defaults_with_types' ,
77+ '_DynamicCore__new_arg_spec' ,
78+ '_DynamicCore__old_arg_spec' ,
7579 'get_keyword_arguments' ,
7680 'get_keyword_documentation' ,
7781 'get_keyword_source' ,
@@ -94,14 +98,26 @@ def test_getattr():
9498 assert str (exc_info .value ) == \
9599 "'%s' object has no attribute 'non_existing'" % type (lib ).__name__
96100
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 ():
99103 args = DynamicLibrary ().get_keyword_arguments
100104 assert args ('mandatory' ) == ['arg1' , 'arg2' ]
101105 assert args ('defaults' ) == ['arg1' , 'arg2=default' , 'arg3=3' ]
102106 assert args ('varargs_and_kwargs' ) == ['*args' , '**kws' ]
103107 assert args ('all_arguments' ) == ['mandatory' , 'default=value' , '*varargs' , '**kwargs' ]
104108 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__' ) == [()]
105121
106122
107123def test_get_keyword_documentation ():
0 commit comments