Best Python code snippet using gherkin-python
token_matcher.py
Source:token_matcher.py  
...35                    self.dialect.then_keywords +36                    self.dialect.and_keywords +37                    self.dialect.but_keywords)38        for keyword in (k for k in keywords if token.line.startswith(k)):39            title = token.line.get_rest_trimmed(len(keyword))40            self._set_token_matched(token, 'StepLine', title, keyword)41            return True42        return False43    def match_Comment(self, token):44        if not token.line.startswith('#'):45            return False46        text = token.line._line_text  # take the entire line, including leading space47        self._set_token_matched(token, 'Comment', text, indent=0)48        return True49    def match_Empty(self, token):50        if not token.line.is_empty():51            return False52        self._set_token_matched(token, 'Empty', indent=0)53        return True54    def match_Language(self, token):55        match = self.LANGUAGE_RE.match(token.line.get_line_text())56        if not match:57            return False58        dialect_name = match.group(1)59        self._set_token_matched(token, 'Language', dialect_name)60        self._change_dialect(dialect_name, token.location)61        return True62    def match_TagLine(self, token):63        if not token.line.startswith('@'):64            return False65        self._set_token_matched(token, 'TagLine', items=token.line.tags)66        return True67    def match_DocStringSeparator(self, token):68        if not self._active_doc_string_separator:69            # open70            return (self._match_DocStringSeparator(token, '"""', True) or71                    self._match_DocStringSeparator(token, '```', True))72        else:73            # close74            return self._match_DocStringSeparator(token, self._active_doc_string_separator, False)75    def _match_DocStringSeparator(self, token, separator, is_open):76        if not token.line.startswith(separator):77            return False78        content_type = None79        if is_open:80            content_type = token.line.get_rest_trimmed(len(separator))81            self._active_doc_string_separator = separator82            self._indent_to_remove = token.line.indent83        else:84            self._active_doc_string_separator = None85            self._indent_to_remove = 086        # TODO: Use the separator as keyword. That's needed for pretty printing.87        self._set_token_matched(token, 'DocStringSeparator', content_type)88        return True89    def match_Other(self, token):90        # take the entire line, except removing DocString indents91        text = token.line.get_line_text(self._indent_to_remove)92        self._set_token_matched(token, 'Other', self._unescaped_docstring(text), indent=0)93        return True94    def match_EOF(self, token):95        if not token.eof():96            return False97        self._set_token_matched(token, 'EOF')98        return True99    def _match_title_line(self, token, token_type, keywords):100        for keyword in (k for k in keywords if token.line.startswith_title_keyword(k)):101            title = token.line.get_rest_trimmed(len(keyword) + len(':'))102            self._set_token_matched(token, token_type, title, keyword)103            return True104        return False105    def _set_token_matched(self, token, matched_type, text=None,106                           keyword=None, indent=None, items=None):107        if items is None:108            items = []109        token.matched_type = matched_type110        # text == '' should not result in None111        token.matched_text = text.rstrip('\r\n') if text is not None else None112        token.matched_keyword = keyword113        if indent is not None:114            token.matched_indent = indent115        else:...gherkin_line.py
Source:gherkin_line.py  
...3        self._line_text = line_text4        self._line_number = line_number5        self._trimmed_line_text = line_text.lstrip()6        self.indent = len(line_text) - len(self._trimmed_line_text)7    def get_rest_trimmed(self, length):8        return self._trimmed_line_text[length:].strip()9    def get_line_text(self, indent_to_remove=-1):10        if indent_to_remove < 0 or indent_to_remove > self.indent:11            return self._trimmed_line_text12        else:13            return self._line_text[indent_to_remove:]14    def is_empty(self):15        return not self._trimmed_line_text16    def startswith(self, prefix):17        return self._trimmed_line_text.startswith(prefix)18    def startswith_title_keyword(self, keyword):19        return self._trimmed_line_text.startswith(keyword + ':')20    @property21    def table_cells(self):...custom_keywords.py
Source:custom_keywords.py  
...8                self.dialect.and_keywords +9                self.dialect.concurrent_keywords +10                self.dialect.but_keywords)11    for keyword in (k for k in keywords if token.line.startswith(k)):12        title = token.line.get_rest_trimmed(len(keyword))13        self._set_token_matched(token, 'StepLine', title, keyword)14        return True...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!!
