def run_query(query_string, directory): assert isinstance(query_string, unicode) tokens = tokenize(query_string) # TODO(aershov182): check that user hasn't passed both FROM and directory # TODO: b'.'? Handle TaggedStr issues inside of the ast.DirectoryWalker cwd_context = Context({'cwd': (directory or b'.')}) query = parse(tokens) return query.get_value(CombinedContext(cwd_context, BUILTIN_CONTEXT))
def assert_tokenizes_to(string, expected_tokens): actual_tokens = list(parser.tokenize(string)) assert len(actual_tokens) == len(expected_tokens) for actual, expected in zip(actual_tokens, expected_tokens): assert same_tokens(actual, expected)
def test_bad_queries(string): with pytest.raises(parser.CantTokenizeError): list(parser.tokenize(string))
def test_whitespace(string, expected_token_classes): assert_classes_equal( list(parser.tokenize(string)), expected_token_classes )
def test_full_query(string, expected_token_classes): assert_classes_equal( list(parser.tokenize(string)), expected_token_classes )
def test_whitespace(string, expected_token_classes): assert_classes_equal(list(parser.tokenize(string)), expected_token_classes)
def test_full_query(string, expected_token_classes): assert_classes_equal(list(parser.tokenize(string)), expected_token_classes)