16 from operator
import attrgetter
21 from .usererrorhandler
import UserErrorHandler
25 TEST_LIBRARY_TYPE =
'Test library'
26 TEST_CASE_FILE_TYPE =
'Test case file'
27 RESOURCE_FILE_TYPE =
'Resource file'
32 self.
_normal_normal = NormalizedDict(ignore=
'_')
35 def add(self, handler, embedded=False):
38 elif handler.name
not in self.
_normal_normal:
39 self.
_normal_normal[handler.name] = handler
41 error =
DataError(
'Keyword with same name defined multiple times.')
48 return iter(sorted(handlers, key=attrgetter(
'name')))
56 return any(template.matches(name)
for template
in self.
_embedded_embedded)
63 return self.
_normal_normal[name]
68 embedded = [template
for template
in self.
_embedded_embedded
69 if template.matches(name)]
70 if len(embedded) == 1:
80 raise KeywordError(
"%s contains no keywords matching name '%s'."
82 error = [
"%s contains multiple keywords matching name '%s':"
84 names = sorted(handler.name
for handler
in found)
Used when variable does not exist.
Used when a test or keyword timeout occurs.
def add(self, handler, embedded=False)
def create_runner(self, name)
def __init__(self, source, source_type)
def __getitem__(self, name)
def _find_embedded(self, name)
def __contains__(self, name)
def _raise_no_single_match(self, name, found)
string TEST_CASE_FILE_TYPE
Created if creating handlers fail – running raises DataError.