Update fixture grammars

This commit is contained in:
Max Brunsfeld 2017-08-03 16:32:39 -07:00
parent 84e4114f79
commit e5c3bf742d
5 changed files with 87 additions and 82 deletions

View file

@ -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'

View file

@ -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))))))

View file

@ -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)))))

View file

@ -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{

View file

@ -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", [&]() {