Best Python code snippet using robotframework
statements.py
Source:statements.py  
...317        if not self.flavor:318            self._add_error("no 'IN' or other valid separator")319        else:320            for var in self.variables:321                if not is_scalar_assign(var):322                    self._add_error("invalid loop variable '%s'" % var)323            if not self.values:324                self._add_error('no loop values')325    def _add_error(self, error):326        self.errors += ('FOR loop has %s.' % error,)327@Statement.register328class IfHeader(Statement):329    type = Token.IF330    @property331    def condition(self):332        return self.get_value(Token.ARGUMENT)333    def validate(self):334        conditions = len(self.get_tokens(Token.ARGUMENT))335        if conditions == 0:...search.py
Source:search.py  
...38    return match.is_dict_variable()39def is_assign(string, identifiers='$@&', allow_assign_mark=False):40    match = search_variable(string, identifiers, ignore_errors=True)41    return match.is_assign(allow_assign_mark)42def is_scalar_assign(string, allow_assign_mark=False):43    return is_assign(string, '$', allow_assign_mark)44def is_list_assign(string, allow_assign_mark=False):45    return is_assign(string, '@', allow_assign_mark)46def is_dict_assign(string, allow_assign_mark=False):47    return is_assign(string, '&', allow_assign_mark)48@py3to249class VariableMatch(object):50    def __init__(self, string, identifier=None, base=None, items=(),51                 start=-1, end=-1):52        self.string = string53        self.identifier = identifier54        self.base = base55        self.items = items56        self.start = start57        self.end = end58    def resolve_base(self, variables, ignore_errors=False):59        if self.identifier:60            internal = search_variable(self.base)61            self.base = variables.replace_string(62                internal,63                custom_unescaper=unescape_variable_syntax,64                ignore_errors=ignore_errors,65            )66    @property67    def name(self):68        return '%s{%s}' % (self.identifier, self.base) if self else None69    @property70    def before(self):71        return self.string[:self.start] if self.identifier else self.string72    @property73    def match(self):74        return self.string[self.start:self.end] if self.identifier else None75    @property76    def after(self):77        return self.string[self.end:] if self.identifier else None78    def is_variable(self):79        return bool(self.identifier80                    and self.base81                    and self.start == 082                    and self.end == len(self.string))83    def is_scalar_variable(self):84        return self.identifier == '$' and self.is_variable()85    def is_list_variable(self):86        return self.identifier == '@' and self.is_variable()87    def is_dict_variable(self):88        return self.identifier == '&' and self.is_variable()89    def is_assign(self, allow_assign_mark=False):90        if allow_assign_mark and self.string.endswith('='):91            return search_variable(rstrip(self.string[:-1])).is_assign()92        return (self.is_variable()93                and self.identifier in '$@&'94                and not self.items95                and not search_variable(self.base))96    def is_scalar_assign(self, allow_assign_mark=False):97        return self.identifier == '$' and self.is_assign(allow_assign_mark)98    def is_list_assign(self, allow_assign_mark=False):99        return self.identifier == '@' and self.is_assign(allow_assign_mark)100    def is_dict_assign(self, allow_assign_mark=False):101        return self.identifier == '&' and self.is_assign(allow_assign_mark)102    def __bool__(self):103        return self.identifier is not None104    def __str__(self):105        if not self:106            return '<no match>'107        items = ''.join('[%s]' % i for i in self.items) if self.items else ''108        return '%s{%s}%s' % (self.identifier, self.base, items)109class VariableSearcher(object):110    def __init__(self, identifiers, ignore_errors=False):...argumentparser.py
Source:argumentparser.py  
...151        if not (is_assign(arg) or arg == '@{}'):152            self._report_error("Invalid argument syntax '%s'." % arg)153        if default is None:154            return arg155        if not is_scalar_assign(arg):156            typ = 'list' if arg[0] == '@' else 'dictionary'157            self._report_error("Only normal arguments accept default values, "158                               "%s arguments like '%s' do not." % (typ, arg))159        return arg, default160    def _is_kwargs(self, arg):161        return arg and arg[0] == '&'162    def _format_kwargs(self, kwargs):163        return kwargs[2:-1]164    def _is_varargs(self, arg):165        return arg and arg[0] == '@'166    def _is_kw_only_separator(self, arg):167        return arg == '@{}'168    def _format_varargs(self, varargs):169        return varargs[2:-1]...test_isvar.py
Source:test_isvar.py  
...88            assert not is_assign(' ' + ok)89        for nok in NOK_ASSIGNS:90            assert not is_assign(nok)91            assert not search_variable(nok, ignore_errors=True).is_assign()92    def test_is_scalar_assign(self):93        for ok in SCALARS:94            assert is_scalar_assign(ok)95            assert search_variable(ok).is_scalar_assign()96            assert is_scalar_assign(ok + '=', allow_assign_mark=True)97            assert is_scalar_assign(ok + ' =', allow_assign_mark=True)98            assert not is_scalar_assign(ok + '[item]')99            assert not is_scalar_assign(' ' + ok)100        for nok in NOK_ASSIGNS + LISTS + DICTS:101            assert not is_scalar_assign(nok)102            assert not search_variable(nok, ignore_errors=True).is_scalar_assign()103    def test_is_list_assign(self):104        for ok in LISTS:105            assert is_list_assign(ok)106            assert search_variable(ok).is_list_assign()107            assert is_list_assign(ok + '=', allow_assign_mark=True)108            assert is_list_assign(ok + ' =', allow_assign_mark=True)109            assert not is_list_assign(ok + '[item]')110            assert not is_list_assign(' ' + ok)111        for nok in NOK_ASSIGNS + SCALARS + DICTS:112            assert not is_list_assign(nok)113            assert not search_variable(nok, ignore_errors=True).is_list_assign()114    def test_is_dict_assign(self):115        for ok in DICTS:116            assert is_dict_assign(ok)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
