def METHOD_NAME():
    """Test the "recursive_crawl()" function."""
    sql = """
    WITH cte AS (
        SELECT * FROM tab_a
    )
    SELECT
        cte.col_a,
        tab_b.col_b
    FROM cte
    INNER JOIN tab_b;
    """
    linter = Linter(dialect="ansi")
    parsed = linter.parse_string(sql)
    functional_tree = segments.Segments(parsed.tree)
    assert len(functional_tree.recursive_crawl("common_table_expression")) == 1
    assert len(functional_tree.recursive_crawl("table_reference")) == 3