GraphQL\Tests\Language\VisitorTest::testAllowsANamedFunctionsVisitorAPI PHP Метод

testAllowsANamedFunctionsVisitorAPI() публичный Метод

    public function testAllowsANamedFunctionsVisitorAPI()
    {
        $visited = [];
        $ast = Parser::parse('{ a, b { x }, c }');
        Visitor::visit($ast, [NodeKind::NAME => function (NameNode $node) use(&$visited) {
            $visited[] = ['enter', $node->kind, $node->value];
        }, NodeKind::SELECTION_SET => ['enter' => function (SelectionSetNode $node) use(&$visited) {
            $visited[] = ['enter', $node->kind, null];
        }, 'leave' => function (SelectionSetNode $node) use(&$visited) {
            $visited[] = ['leave', $node->kind, null];
        }]]);
        $expected = [['enter', 'SelectionSet', null], ['enter', 'Name', 'a'], ['enter', 'Name', 'b'], ['enter', 'SelectionSet', null], ['enter', 'Name', 'x'], ['leave', 'SelectionSet', null], ['enter', 'Name', 'c'], ['leave', 'SelectionSet', null]];
        $this->assertEquals($expected, $visited);
    }