Update fixture grammars
This commit is contained in:
parent
84e4114f79
commit
e5c3bf742d
5 changed files with 87 additions and 82 deletions
|
|
@ -21,12 +21,12 @@ fetch_grammar() {
|
|||
)
|
||||
}
|
||||
|
||||
fetch_grammar 'javascript' 'origin/new-external-scanner-api'
|
||||
fetch_grammar 'javascript' 'origin/master'
|
||||
fetch_grammar 'json' 'origin/master'
|
||||
fetch_grammar 'c' 'origin/use-contextual-renames'
|
||||
fetch_grammar 'cpp' 'origin/use-contextual-renames'
|
||||
fetch_grammar 'python' 'origin/new-external-scanner-api'
|
||||
fetch_grammar 'go' 'origin/use-contextual-renames'
|
||||
fetch_grammar 'ruby' 'origin/new-external-scanner-api'
|
||||
fetch_grammar 'c' 'origin/master'
|
||||
fetch_grammar 'cpp' 'origin/master'
|
||||
fetch_grammar 'python' 'origin/master'
|
||||
fetch_grammar 'go' 'origin/master'
|
||||
fetch_grammar 'ruby' 'origin/master'
|
||||
fetch_grammar 'typescript' 'origin/master'
|
||||
fetch_grammar 'bash' 'origin/master'
|
||||
|
|
|
|||
48
test/fixtures/error_corpus/c_errors.txt
vendored
48
test/fixtures/error_corpus/c_errors.txt
vendored
|
|
@ -24,20 +24,20 @@ int c;
|
|||
|
||||
(translation_unit
|
||||
(preproc_ifdef (identifier)
|
||||
(ERROR (type_name) (variable_name))
|
||||
(ERROR (type_identifier) (identifier))
|
||||
(comment))
|
||||
|
||||
(declaration (type_name) (variable_name))
|
||||
(declaration (type_identifier) (identifier))
|
||||
|
||||
(preproc_ifdef (identifier)
|
||||
(ERROR (string_literal)))
|
||||
|
||||
(declaration (type_name) (variable_name))
|
||||
(declaration (type_identifier) (identifier))
|
||||
|
||||
(preproc_ifdef (identifier)
|
||||
(ERROR))
|
||||
|
||||
(declaration (type_name) (variable_name)))
|
||||
(declaration (type_identifier) (identifier)))
|
||||
|
||||
========================================
|
||||
Errors inside blocks
|
||||
|
|
@ -52,11 +52,11 @@ int main() {
|
|||
|
||||
(translation_unit
|
||||
(function_definition
|
||||
(type_name)
|
||||
(function_declarator (variable_name) (parameter_list))
|
||||
(type_identifier)
|
||||
(function_declarator (identifier) (parameter_list))
|
||||
(compound_statement
|
||||
(declaration (type_name) (variable_name))
|
||||
(ERROR (variable_name) (UNEXPECTED '$')))))
|
||||
(declaration (type_identifier) (identifier))
|
||||
(ERROR (identifier) (UNEXPECTED '$')))))
|
||||
|
||||
========================================
|
||||
Errors inside expressions
|
||||
|
|
@ -70,11 +70,11 @@ int main() {
|
|||
|
||||
(translation_unit
|
||||
(function_definition
|
||||
(type_name)
|
||||
(function_declarator (variable_name) (parameter_list))
|
||||
(type_identifier)
|
||||
(function_declarator (identifier) (parameter_list))
|
||||
(compound_statement
|
||||
(declaration (type_name) (init_declarator
|
||||
(variable_name)
|
||||
(declaration (type_identifier) (init_declarator
|
||||
(identifier)
|
||||
(parenthesized_expression
|
||||
(ERROR (number_literal))
|
||||
(number_literal)))))))
|
||||
|
|
@ -89,8 +89,8 @@ int y = 5;
|
|||
---
|
||||
|
||||
(translation_unit
|
||||
(declaration (type_name) (ERROR (variable_name)) (variable_name))
|
||||
(declaration (type_name) (init_declarator (variable_name) (number_literal))))
|
||||
(declaration (type_identifier) (ERROR (identifier)) (identifier))
|
||||
(declaration (type_identifier) (init_declarator (identifier) (number_literal))))
|
||||
|
||||
==========================================
|
||||
Errors at the beginnings of blocks
|
||||
|
|
@ -110,27 +110,27 @@ int b() {
|
|||
|
||||
(translation_unit
|
||||
(function_definition
|
||||
(type_name)
|
||||
(function_declarator (variable_name) (parameter_list))
|
||||
(type_identifier)
|
||||
(function_declarator (identifier) (parameter_list))
|
||||
(compound_statement
|
||||
(struct_specifier (struct_name))
|
||||
(struct_specifier (type_identifier))
|
||||
(ERROR (number_literal))
|
||||
(struct_specifier (struct_name))
|
||||
(struct_specifier (type_identifier))
|
||||
(ERROR (number_literal))))
|
||||
|
||||
(function_definition
|
||||
(type_name)
|
||||
(function_declarator (variable_name) (parameter_list))
|
||||
(type_identifier)
|
||||
(function_declarator (identifier) (parameter_list))
|
||||
(compound_statement
|
||||
(declaration
|
||||
(type_name)
|
||||
(type_identifier)
|
||||
(init_declarator
|
||||
(variable_name)
|
||||
(identifier)
|
||||
(ERROR (identifier) (identifier))
|
||||
(number_literal)))
|
||||
(declaration
|
||||
(type_name)
|
||||
(type_identifier)
|
||||
(init_declarator
|
||||
(variable_name)
|
||||
(identifier)
|
||||
(ERROR (identifier) (identifier))
|
||||
(number_literal))))))
|
||||
|
|
|
|||
29
test/fixtures/error_corpus/javascript_errors.txt
vendored
29
test/fixtures/error_corpus/javascript_errors.txt
vendored
|
|
@ -11,8 +11,9 @@ e f;
|
|||
|
||||
(program
|
||||
(if_statement
|
||||
(ERROR (identifier))
|
||||
(identifier)
|
||||
(parenthesized_expression
|
||||
(ERROR (identifier))
|
||||
(identifier))
|
||||
(statement_block
|
||||
(expression_statement (ERROR (identifier)) (identifier))))
|
||||
(expression_statement (ERROR (identifier)) (identifier)))
|
||||
|
|
@ -30,16 +31,17 @@ h i j k;
|
|||
|
||||
(program
|
||||
(if_statement
|
||||
(ERROR (identifier))
|
||||
(identifier)
|
||||
(ERROR (identifier))
|
||||
(parenthesized_expression
|
||||
(ERROR (identifier))
|
||||
(identifier)
|
||||
(ERROR (identifier)))
|
||||
(statement_block
|
||||
(expression_statement
|
||||
(identifier)
|
||||
(ERROR (jsx_attribute (identifier)) (jsx_attribute (identifier)) (identifier)))))
|
||||
(ERROR (jsx_attribute (property_identifier)) (jsx_attribute (property_identifier)) (identifier)))))
|
||||
(expression_statement
|
||||
(identifier)
|
||||
(ERROR (jsx_attribute (identifier)) (jsx_attribute (identifier)) (identifier))))
|
||||
(ERROR (jsx_attribute (property_identifier)) (jsx_attribute (property_identifier)) (identifier))))
|
||||
|
||||
===================================================
|
||||
one invalid subtree right after the viable prefix
|
||||
|
|
@ -53,10 +55,11 @@ if ({a: 'b'} {c: 'd'}) {
|
|||
|
||||
(program
|
||||
(if_statement
|
||||
(ERROR (object (pair (identifier) (string))))
|
||||
(object (pair (identifier) (string)))
|
||||
(parenthesized_expression
|
||||
(ERROR (object (pair (property_identifier) (string))))
|
||||
(object (pair (property_identifier) (string))))
|
||||
(statement_block
|
||||
(expression_statement (assignment
|
||||
(expression_statement (assignment_expression
|
||||
(identifier)
|
||||
(ERROR (function
|
||||
(formal_parameters (identifier))
|
||||
|
|
@ -75,7 +78,7 @@ a.b =
|
|||
|
||||
(program
|
||||
(comment)
|
||||
(ERROR (member_access (identifier) (identifier))))
|
||||
(ERROR (member_expression (identifier) (property_identifier))))
|
||||
|
||||
=================================================================
|
||||
An invalid token at the end of a construct with extra line breaks
|
||||
|
|
@ -83,14 +86,14 @@ An invalid token at the end of a construct with extra line breaks
|
|||
|
||||
a(
|
||||
b,
|
||||
c,,
|
||||
c,.
|
||||
);
|
||||
|
||||
---
|
||||
|
||||
(program
|
||||
(expression_statement
|
||||
(function_call (identifier) (arguments
|
||||
(call_expression (identifier) (arguments
|
||||
(identifier)
|
||||
(identifier)
|
||||
(ERROR)))))
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ describe("Document", [&]() {
|
|||
ts_document_parse(document);
|
||||
assert_node_string_equals(
|
||||
ts_document_root_node(document),
|
||||
"(program (expression_statement (object (pair (identifier) (null)))))");
|
||||
"(program (expression_statement (object (pair (property_identifier) (null)))))");
|
||||
});
|
||||
|
||||
after_each([&]() {
|
||||
|
|
@ -334,9 +334,9 @@ describe("Document", [&]() {
|
|||
assert_node_string_equals(
|
||||
ts_document_root_node(document),
|
||||
"(program (expression_statement (object "
|
||||
"(pair (identifier) (null)) "
|
||||
"(pair (identifier) (number)) "
|
||||
"(pair (identifier) (false)))))");
|
||||
"(pair (property_identifier) (null)) "
|
||||
"(pair (property_identifier) (number)) "
|
||||
"(pair (property_identifier) (false)))))");
|
||||
|
||||
AssertThat(ranges, Equals(vector<TSRange>({
|
||||
TSRange{
|
||||
|
|
@ -353,8 +353,8 @@ describe("Document", [&]() {
|
|||
assert_node_string_equals(
|
||||
ts_document_root_node(document),
|
||||
"(program (expression_statement (object "
|
||||
"(pair (identifier) (null)) "
|
||||
"(pair (identifier) (false)))))");
|
||||
"(pair (property_identifier) (null)) "
|
||||
"(pair (property_identifier) (false)))))");
|
||||
|
||||
AssertThat(ranges, IsEmpty());
|
||||
|
||||
|
|
@ -366,7 +366,7 @@ describe("Document", [&]() {
|
|||
assert_node_string_equals(
|
||||
ts_document_root_node(document),
|
||||
"(program (expression_statement (object "
|
||||
"(pair (identifier) (null)))))");
|
||||
"(pair (property_identifier) (null)))))");
|
||||
|
||||
AssertThat(ranges, IsEmpty());
|
||||
});
|
||||
|
|
@ -380,7 +380,7 @@ describe("Document", [&]() {
|
|||
assert_node_string_equals(
|
||||
ts_document_root_node(document),
|
||||
"(program (expression_statement (object "
|
||||
"(pair (identifier) (rel_op (identifier) (null))))))");
|
||||
"(pair (property_identifier) (binary_expression (identifier) (null))))))");
|
||||
|
||||
AssertThat(ranges, Equals(vector<TSRange>({
|
||||
TSRange{
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ describe("Parser", [&]() {
|
|||
set_text("fn()\n");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (function_call (identifier) (arguments))))");
|
||||
"(program (expression_statement (call_expression (identifier) (arguments))))");
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -221,10 +221,10 @@ describe("Parser", [&]() {
|
|||
" .otherFn();");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (function_call "
|
||||
"(member_access "
|
||||
"(function_call (identifier) (arguments)) "
|
||||
"(identifier)) "
|
||||
"(program (expression_statement (call_expression "
|
||||
"(member_expression "
|
||||
"(call_expression (identifier) (arguments)) "
|
||||
"(property_identifier)) "
|
||||
"(arguments))))");
|
||||
});
|
||||
});
|
||||
|
|
@ -239,11 +239,11 @@ describe("Parser", [&]() {
|
|||
".otherFn();");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (function_call "
|
||||
"(member_access "
|
||||
"(function_call (identifier) (arguments)) "
|
||||
"(program (expression_statement (call_expression "
|
||||
"(member_expression "
|
||||
"(call_expression (identifier) (arguments)) "
|
||||
"(comment) "
|
||||
"(identifier)) "
|
||||
"(property_identifier)) "
|
||||
"(arguments))))");
|
||||
});
|
||||
});
|
||||
|
|
@ -256,16 +256,18 @@ describe("Parser", [&]() {
|
|||
set_text("x * (100 + abc);");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op "
|
||||
"(program (expression_statement (binary_expression "
|
||||
"(identifier) "
|
||||
"(math_op (number) (identifier)))))");
|
||||
"(parenthesized_expression "
|
||||
"(binary_expression (number) (identifier))))))");
|
||||
|
||||
insert_text(strlen("x * (100 + abc"), ".d");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op "
|
||||
"(program (expression_statement (binary_expression "
|
||||
"(identifier) "
|
||||
"(math_op (number) (member_access (identifier) (identifier))))))");
|
||||
"(parenthesized_expression "
|
||||
"(binary_expression (number) (member_expression (identifier) (property_identifier)))))))");
|
||||
|
||||
AssertThat(input->strings_read(), Equals(vector<string>({ " abc.d);" })));
|
||||
});
|
||||
|
|
@ -279,18 +281,18 @@ describe("Parser", [&]() {
|
|||
set_text("123 + 456 * (10 + x);");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op "
|
||||
"(program (expression_statement (binary_expression "
|
||||
"(number) "
|
||||
"(math_op (number) (math_op (number) (identifier))))))");
|
||||
"(binary_expression (number) (parenthesized_expression (binary_expression (number) (identifier)))))))");
|
||||
|
||||
insert_text(strlen("123"), " || 5");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (bool_op "
|
||||
"(program (expression_statement (binary_expression "
|
||||
"(number) "
|
||||
"(math_op "
|
||||
"(binary_expression "
|
||||
"(number) "
|
||||
"(math_op (number) (math_op (number) (identifier)))))))");
|
||||
"(binary_expression (number) (parenthesized_expression (binary_expression (number) (identifier))))))))");
|
||||
|
||||
AssertThat(input->strings_read(), Equals(vector<string>({"123 || 5 "})));
|
||||
});
|
||||
|
|
@ -315,7 +317,7 @@ describe("Parser", [&]() {
|
|||
|
||||
assert_root_node(
|
||||
"(program (variable_declaration (variable_declarator "
|
||||
"(identifier) (math_op (identifier) (identifier)))))");
|
||||
"(identifier) (binary_expression (identifier) (identifier)))))");
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -325,12 +327,12 @@ describe("Parser", [&]() {
|
|||
set_text("abc * 123;");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op (identifier) (number))))");
|
||||
"(program (expression_statement (binary_expression (identifier) (number))))");
|
||||
|
||||
insert_text(strlen("ab"), "XYZ");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op (identifier) (number))))");
|
||||
"(program (expression_statement (binary_expression (identifier) (number))))");
|
||||
|
||||
TSNode node = ts_node_named_descendant_for_char_range(root, 1, 1);
|
||||
AssertThat(ts_node_type(node, document), Equals("identifier"));
|
||||
|
|
@ -344,12 +346,12 @@ describe("Parser", [&]() {
|
|||
set_text("abc * 123;");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op (identifier) (number))))");
|
||||
"(program (expression_statement (binary_expression (identifier) (number))))");
|
||||
|
||||
insert_text(strlen("abc"), "XYZ");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op (identifier) (number))))");
|
||||
"(program (expression_statement (binary_expression (identifier) (number))))");
|
||||
|
||||
TSNode node = ts_node_named_descendant_for_char_range(root, 1, 1);
|
||||
AssertThat(ts_node_type(node, document), Equals("identifier"));
|
||||
|
|
@ -365,7 +367,7 @@ describe("Parser", [&]() {
|
|||
"abc;");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op "
|
||||
"(program (expression_statement (binary_expression "
|
||||
"(number) "
|
||||
"(comment) "
|
||||
"(identifier))))");
|
||||
|
|
@ -377,7 +379,7 @@ describe("Parser", [&]() {
|
|||
"XYZ");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (math_op "
|
||||
"(program (expression_statement (binary_expression "
|
||||
"(number) "
|
||||
"(comment) "
|
||||
"(identifier))))");
|
||||
|
|
@ -391,8 +393,8 @@ describe("Parser", [&]() {
|
|||
|
||||
assert_root_node(
|
||||
"(program "
|
||||
"(expression_statement (math_op (number) (number))) "
|
||||
"(expression_statement (math_op (number) (number))))");
|
||||
"(expression_statement (binary_expression (number) (number))) "
|
||||
"(expression_statement (binary_expression (number) (number))))");
|
||||
|
||||
delete_text(strlen("123 "), 2);
|
||||
|
||||
|
|
@ -400,7 +402,7 @@ describe("Parser", [&]() {
|
|||
"(program "
|
||||
"(ERROR (number)) "
|
||||
"(expression_statement (number)) "
|
||||
"(expression_statement (math_op (number) (number))))");
|
||||
"(expression_statement (binary_expression (number) (number))))");
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -433,19 +435,19 @@ describe("Parser", [&]() {
|
|||
});
|
||||
});
|
||||
|
||||
it("does not try to re-use nodes that are within the edited region", [&]() {
|
||||
it("does not try to reuse nodes that are within the edited region", [&]() {
|
||||
ts_document_set_language(document, load_real_language("javascript"));
|
||||
set_text("{ x: (b.c) };");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (object (pair "
|
||||
"(identifier) (member_access (identifier) (identifier))))))");
|
||||
"(property_identifier) (parenthesized_expression (member_expression (identifier) (property_identifier)))))))");
|
||||
|
||||
replace_text(strlen("{ x: "), strlen("(b.c)"), "b.c");
|
||||
|
||||
assert_root_node(
|
||||
"(program (expression_statement (object (pair "
|
||||
"(identifier) (member_access (identifier) (identifier))))))");
|
||||
"(property_identifier) (member_expression (identifier) (property_identifier))))))");
|
||||
});
|
||||
|
||||
it("updates the document's parse count", [&]() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue