Exemple #1
0
def test_visits_edited_node():
    added_field = Field(loc=None,
                        name=Name(loc=None, value='__typename'),
                        alias=None,
                        arguments=None,
                        directives=None,
                        selection_set=None)
    ast = parse('{ a { x } }')

    class TestVisitor(Visitor):
        def __init__(self):
            self.did_visit_added_field = False

        def enter(self, node, *args):
            if isinstance(node, Field) and node.name.value == 'a':
                selection_set = node.selection_set
                selections = []
                if selection_set:
                    selections = selection_set.selections
                new_selection_set = SelectionSet(loc=None,
                                                 selections=[added_field] +
                                                 selections)
                return Field(loc=None,
                             name=None,
                             alias=None,
                             arguments=None,
                             directives=None,
                             selection_set=new_selection_set)
            if node is added_field:
                self.did_visit_added_field = True

    visitor = TestVisitor()
    visit(ast, visitor)
    assert visitor.did_visit_added_field
Exemple #2
0
def test_prints_minimal_ast():
    ast = Field(name=Name(loc=None, value='foo'),
                loc=None,
                alias=None,
                arguments=None,
                directives=None,
                selection_set=None)
    assert print_ast(ast) == 'foo'
 def enter(self, node, *args):
     if isinstance(node, Field) and node.name.value == 'a':
         selection_set = node.selection_set
         selections = []
         if selection_set:
             selections = selection_set.selections
         new_selection_set = SelectionSet(selections=[added_field] + selections)
         return Field(name=None, selection_set=new_selection_set)
     if node is added_field:
         self.did_visit_added_field = True
Exemple #4
0
def test_prints_minimal_ast():
    ast = Field(name=Name(loc=None, value='foo'))
    assert print_ast(ast) == 'foo'