GraphQL\Tests\Language\VisitorTest::testVisitsEditedNode PHP Method

testVisitsEditedNode() public method

    public function testVisitsEditedNode()
    {
        $addedField = new FieldNode(array('name' => new NameNode(array('value' => '__typename'))));
        $didVisitAddedField = false;
        $ast = Parser::parse('{ a { x } }');
        Visitor::visit($ast, ['enter' => function ($node) use($addedField, &$didVisitAddedField) {
            if ($node instanceof FieldNode && $node->name->value === 'a') {
                return new FieldNode(['selectionSet' => new SelectionSetNode(array('selections' => array_merge([$addedField], $node->selectionSet->selections)))]);
            }
            if ($node === $addedField) {
                $didVisitAddedField = true;
            }
        }]);
        $this->assertTrue($didVisitAddedField);
    }