From e5c3bf742d1d6e52961d7de8b3e63c30a4a77184 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 3 Aug 2017 16:32:39 -0700 Subject: [PATCH] Update fixture grammars --- script/fetch-fixtures | 12 ++-- test/fixtures/error_corpus/c_errors.txt | 48 +++++++------- .../error_corpus/javascript_errors.txt | 29 +++++---- test/runtime/document_test.cc | 16 ++--- test/runtime/parser_test.cc | 64 ++++++++++--------- 5 files changed, 87 insertions(+), 82 deletions(-) diff --git a/script/fetch-fixtures b/script/fetch-fixtures index 2cb9793b..2575e2b6 100755 --- a/script/fetch-fixtures +++ b/script/fetch-fixtures @@ -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' diff --git a/test/fixtures/error_corpus/c_errors.txt b/test/fixtures/error_corpus/c_errors.txt index adaf585e..f9280ce3 100644 --- a/test/fixtures/error_corpus/c_errors.txt +++ b/test/fixtures/error_corpus/c_errors.txt @@ -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)))))) diff --git a/test/fixtures/error_corpus/javascript_errors.txt b/test/fixtures/error_corpus/javascript_errors.txt index f4f99bc8..1cfda563 100644 --- a/test/fixtures/error_corpus/javascript_errors.txt +++ b/test/fixtures/error_corpus/javascript_errors.txt @@ -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))))) diff --git a/test/runtime/document_test.cc b/test/runtime/document_test.cc index 2030a1d1..3ab638b8 100644 --- a/test/runtime/document_test.cc +++ b/test/runtime/document_test.cc @@ -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{ @@ -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{ diff --git a/test/runtime/parser_test.cc b/test/runtime/parser_test.cc index c7f5c138..a7557685 100644 --- a/test/runtime/parser_test.cc +++ b/test/runtime/parser_test.cc @@ -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({ " 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({"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", [&]() {