MCPcopy Index your code
hub / github.com/nodejs/node / parse_test

Method parse_test

tools/inspector_protocol/jinja2/parser.py:820–849  ·  view source on GitHub ↗
(self, node)

Source from the content-addressed store, hash-verified

818 return node
819
820 def parse_test(self, node):
821 token = next(self.stream)
822 if self.stream.current.test('name:not'):
823 next(self.stream)
824 negated = True
825 else:
826 negated = False
827 name = self.stream.expect('name').value
828 while self.stream.current.type == 'dot':
829 next(self.stream)
830 name += '.' + self.stream.expect('name').value
831 dyn_args = dyn_kwargs = None
832 kwargs = []
833 if self.stream.current.type == 'lparen':
834 args, kwargs, dyn_args, dyn_kwargs = self.parse_call(None)
835 elif (self.stream.current.type in ('name', 'string', 'integer',
836 'float', 'lparen', 'lbracket',
837 'lbrace') and not
838 self.stream.current.test_any('name:else', 'name:or',
839 'name:and')):
840 if self.stream.current.test('name:is'):
841 self.fail('You cannot chain multiple tests with is')
842 args = [self.parse_primary()]
843 else:
844 args = []
845 node = nodes.Test(node, name, args, kwargs, dyn_args,
846 dyn_kwargs, lineno=token.lineno)
847 if negated:
848 node = nodes.Not(node, lineno=token.lineno)
849 return node
850
851 def subparse(self, end_tokens=None):
852 body = []

Callers 1

parse_filter_exprMethod · 0.95

Calls 7

parse_callMethod · 0.95
failMethod · 0.95
parse_primaryMethod · 0.95
nextFunction · 0.50
testMethod · 0.45
expectMethod · 0.45
test_anyMethod · 0.45

Tested by

no test coverage detected