From ab00e852247407a69a033a34246dc253d57a93ea Mon Sep 17 00:00:00 2001 From: "Matthew \"strager\" Glazar" Date: Mon, 8 Jan 2024 02:02:20 -0500 Subject: [PATCH] refactor(test): avoid Diag_Collector in most uses of Test_Parser I want to kill Diag_Collector. Move some users over to Diag_List. https://github.com/quick-lint/quick-lint-js/issues/1154 --- test/quick-lint-js/parse-support.cpp | 9 ++++- test/quick-lint-js/parse-support.h | 10 ++++- test/test-parse-expression-statement.cpp | 4 +- test/test-parse-expression-typescript.cpp | 2 +- test/test-parse-expression.cpp | 32 +++++++-------- test/test-parse-module.cpp | 18 ++++----- test/test-parse-statement.cpp | 2 +- test/test-parse-typescript-class.cpp | 40 ++++++++++--------- test/test-parse-typescript-declare-class.cpp | 4 +- test/test-parse-typescript-enum.cpp | 4 +- ...est-parse-typescript-function-overload.cpp | 2 +- test/test-parse-typescript-interface.cpp | 4 +- test/test-parse-var.cpp | 12 +++--- test/test-parse-warning.cpp | 14 +++---- test/test-parse.cpp | 14 +++---- 15 files changed, 93 insertions(+), 78 deletions(-) diff --git a/test/quick-lint-js/parse-support.cpp b/test/quick-lint-js/parse-support.cpp index 521e0a8cb6..083ee75f58 100644 --- a/test/quick-lint-js/parse-support.cpp +++ b/test/quick-lint-js/parse-support.cpp @@ -354,8 +354,13 @@ std::string summarize(std::optional expression) { void Test_Parser::assert_diagnostics(Span diags, Source_Location caller) { - quick_lint_js::assert_diagnostics(this->code, this->errors_.errors, diags, - caller); + quick_lint_js::assert_diagnostics(this->code, this->errors, diags, caller); +} + +std::vector Test_Parser::legacy_errors() { + Diag_Collector d; + d.report(this->diag_reporter_.diags()); + return std::move(d.errors); } Spy_Visitor test_parse_and_visit_statement(String8_View input, No_Diags_Tag, diff --git a/test/quick-lint-js/parse-support.h b/test/quick-lint-js/parse-support.h index 1a81cfcd86..784c1b7e8d 100644 --- a/test/quick-lint-js/parse-support.h +++ b/test/quick-lint-js/parse-support.h @@ -85,7 +85,7 @@ class Test_Parser { explicit Test_Parser(String8_View input, const Parser_Options& options, Capture_Diags_Tag) - : code_(input), parser_(&this->code_, &this->errors_, options) {} + : code_(input), parser_(&this->code_, &this->diag_reporter_, options) {} // Fails the test if there are any diagnostics during parsing. explicit Test_Parser(String8_View input) @@ -168,6 +168,9 @@ class Test_Parser { Failing_Diag_Reporter failing_reporter_; quick_lint_js::Parser parser_; + Monotonic_Allocator diag_allocator_{"Test_Parser::diag_allocator_"}; + Diag_List_Diag_Reporter diag_reporter_{&this->diag_allocator_}; + public: // Aliases for convenience. std::vector& visits = this->errors_.visits; @@ -180,8 +183,11 @@ class Test_Parser { std::vector& variable_declarations = this->errors_.variable_declarations; std::vector& variable_uses = this->errors_.variable_uses; - std::vector& errors = this->errors_.errors; + const Diag_List& errors = this->diag_reporter_.diags(); Padded_String_View code = Padded_String_View(&this->code_); + + // TODO(#1154): Delete this. + std::vector legacy_errors(); }; struct No_Diags_Tag {}; diff --git a/test/test-parse-expression-statement.cpp b/test/test-parse-expression-statement.cpp index 3682ce9a3e..27c70e8807 100644 --- a/test/test-parse-expression-statement.cpp +++ b/test/test-parse-expression-statement.cpp @@ -156,7 +156,7 @@ TEST_F(Test_Parse_Expression_Statement, SCOPED_TRACE(p.code); p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Operand_For_Operator, // where, 0, op), @@ -1066,7 +1066,7 @@ TEST_F(Test_Parse_Expression_Statement, Test_Parser p(concat(u8"*\n"_sv, statement), capture_diags); SCOPED_TRACE(p.code); p.parse_and_visit_module(); - EXPECT_THAT(p.errors, Not(IsEmpty())); + EXPECT_THAT(p.legacy_errors(), Not(IsEmpty())); } } diff --git a/test/test-parse-expression-typescript.cpp b/test/test-parse-expression-typescript.cpp index 0aed033630..94897bfa77 100644 --- a/test/test-parse-expression-typescript.cpp +++ b/test/test-parse-expression-typescript.cpp @@ -417,7 +417,7 @@ TEST_F(Test_Parse_Expression_TypeScript, SCOPED_TRACE(code); Test_Parser p(code.string_view(), typescript_options, capture_diags); p.parse_and_visit_expression(); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, diff --git a/test/test-parse-expression.cpp b/test/test-parse-expression.cpp index e2a7b8a7b4..d3e313913f 100644 --- a/test/test-parse-expression.cpp +++ b/test/test-parse-expression.cpp @@ -251,7 +251,7 @@ TEST_F(Test_Parse_Expression, parse_broken_math_expression) { Expression* ast = p.parse_expression(); EXPECT_EQ(summarize(ast), "upassign(missing, literal)"); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Operand_For_Operator, // where, 0, op), @@ -1068,14 +1068,14 @@ TEST_F(Test_Parse_Expression, } else if (test.expected_normal_function) { // 'await' should look like an identifier. EXPECT_EQ(summarize(ast), test.expected_normal_function); - EXPECT_THAT(p.errors, IsEmpty()); + EXPECT_THAT(p.legacy_errors(), IsEmpty()); } else { // 'await' doesn't look like an identifier. We should report an error // and recover as if 'await' was an operator. EXPECT_EQ(summarize(ast), test.expected_async_function); if (test.code == u8"await await x"_sv) { EXPECT_THAT( - p.errors, + p.legacy_errors(), ::testing::IsSupersetOf( {DIAG_TYPE_OFFSETS(p.code, Diag_Await_Operator_Outside_Async, await_operator, 0, u8"await"_sv), @@ -1084,7 +1084,7 @@ TEST_F(Test_Parse_Expression, u8"await"_sv)})); } else { std::size_t await_offset = test.code.find(u8"await"_sv); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Await_Operator_Outside_Async, // @@ -1106,7 +1106,7 @@ TEST_F(Test_Parse_Expression, u8"^^^^^ Diag_Redundant_Await"_diag, }); } else { - EXPECT_THAT(p.errors, IsEmpty()); + EXPECT_THAT(p.legacy_errors(), IsEmpty()); } } @@ -1123,7 +1123,7 @@ TEST_F(Test_Parse_Expression, u8"^^^^^ Diag_Redundant_Await"_diag, }); } else { - EXPECT_THAT(p.errors, IsEmpty()); + EXPECT_THAT(p.legacy_errors(), IsEmpty()); } } } @@ -2213,7 +2213,7 @@ TEST_F(Test_Parse_Expression, Expression* ast = p.parse_expression(); EXPECT_EQ(summarize(ast), "object(literal: missing)"); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Value_For_Object_Literal_Entry, // @@ -2226,7 +2226,7 @@ TEST_F(Test_Parse_Expression, Expression* ast = p.parse_expression(); EXPECT_EQ(summarize(ast), "object(literal: missing, literal: var other)"); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Value_For_Object_Literal_Entry, // @@ -2471,7 +2471,7 @@ TEST_F(Test_Parse_Expression, malformed_object_literal) { "object(literal: dot(var one, two))", "object(literal: upassign(var one, var two))")); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Key_For_Object_Entry, // expression, u8"{"_sv.size(), @@ -2495,7 +2495,7 @@ TEST_F(Test_Parse_Expression, malformed_object_literal) { "object(literal: dot(literal, two))", "object(literal: literal = var two)")); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Key_For_Object_Entry, // expression, u8"{"_sv.size(), @@ -2513,7 +2513,7 @@ TEST_F(Test_Parse_Expression, malformed_object_literal) { "object(literal: dot(literal, two))", "object(literal: literal = var two)")); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Key_For_Object_Entry, // expression, u8"{"_sv.size(), @@ -2529,7 +2529,7 @@ TEST_F(Test_Parse_Expression, malformed_object_literal) { EXPECT_EQ(summarize(ast), "object(literal: rwunarysuffix(var one), literal: var two)"); EXPECT_THAT( - p.errors, + p.legacy_errors(), UnorderedElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Missing_Key_For_Object_Entry, // expression, u8"{"_sv.size(), @@ -2570,7 +2570,7 @@ TEST_F(Test_Parse_Expression, malformed_object_literal) { Expression* ast = p.parse_expression(); EXPECT_EQ(summarize(ast), "object(literal: function)"); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, @@ -3533,7 +3533,7 @@ TEST_F(Test_Parse_Expression, generator_misplaced_star) { Test_Parser p(u8"(*function f(){})"_sv, capture_diags); Expression* ast = p.parse_expression(); EXPECT_THAT(ast->child_0()->span(), p.matches_offsets(1, 16)); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({DIAG_TYPE( Diag_Generator_Function_Star_Belongs_Before_Name)})); } @@ -3545,7 +3545,7 @@ TEST_F(Test_Parse_Expression, unary_cannot_mix_with_star_star) { Expression* ast = p.parse_expression(); EXPECT_EQ(summarize(ast), "binary(unary(var a), var b)"); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, @@ -3564,7 +3564,7 @@ TEST_F(Test_Parse_Expression, unary_cannot_mix_with_star_star) { EXPECT_EQ(summarize(ast), "typeof(binary(var a, var b))"); } EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, diff --git a/test/test-parse-module.cpp b/test/test-parse-module.cpp index 645255d973..0db13bc1b8 100644 --- a/test/test-parse-module.cpp +++ b/test/test-parse-module.cpp @@ -266,7 +266,7 @@ TEST_F(Test_Parse_Module, export_default_of_variable_is_illegal) { "visit_variable_declaration", // x })); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Cannot_Export_Default_Variable, // declaring_token, u8"export default "_sv.size(), @@ -428,7 +428,7 @@ TEST_F(Test_Parse_Module, p.parse_and_visit_statement(); EXPECT_THAT(p.visits, IsEmpty()); EXPECT_THAT(p.variable_uses, IsEmpty()); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Export_Variable_Named_Keyword, // @@ -443,7 +443,7 @@ TEST_F(Test_Parse_Module, p.parse_and_visit_statement(); EXPECT_THAT(p.visits, IsEmpty()); EXPECT_THAT(p.variable_uses, IsEmpty()); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Export_Variable_Named_Keyword, // @@ -907,7 +907,7 @@ TEST_F(Test_Parse_Module, imported_modules_must_be_quoted) { capture_diags); p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Cannot_Import_From_Unquoted_Module, import_name, u8"import { test } from "_sv.size(), @@ -927,7 +927,7 @@ TEST_F(Test_Parse_Module, EXPECT_THAT(p.visits, ElementsAreArray({ "visit_variable_declaration", // (name) })); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Import_Variable_Named_Keyword, // @@ -945,7 +945,7 @@ TEST_F(Test_Parse_Module, "visit_variable_declaration", // (name) })); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Import_Variable_Named_Keyword, // @@ -962,7 +962,7 @@ TEST_F(Test_Parse_Module, EXPECT_THAT(p.variable_declarations, ElementsAreArray({import_decl(name)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Import_Variable_Named_Keyword, // @@ -978,7 +978,7 @@ TEST_F(Test_Parse_Module, EXPECT_THAT(p.visits, ElementsAreArray({ "visit_variable_declaration", // (name) })); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Import_Variable_Named_Keyword, // @@ -994,7 +994,7 @@ TEST_F(Test_Parse_Module, EXPECT_THAT(p.visits, ElementsAreArray({ "visit_variable_declaration", // (name) })); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Import_Variable_Named_Keyword, // diff --git a/test/test-parse-statement.cpp b/test/test-parse-statement.cpp index 4c62f1996b..c608618786 100644 --- a/test/test-parse-statement.cpp +++ b/test/test-parse-statement.cpp @@ -611,7 +611,7 @@ TEST_F(Test_Parse_Statement, if_else_with_malformed_condition) { "visit_variable_use", // e "visit_exit_block_scope"})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ::testing::Not(::testing::Contains(DIAG_TYPE(Diag_Else_Has_No_If)))); } } diff --git a/test/test-parse-typescript-class.cpp b/test/test-parse-typescript-class.cpp index 9a5415d015..2c3962a9c9 100644 --- a/test/test-parse-typescript-class.cpp +++ b/test/test-parse-typescript-class.cpp @@ -907,9 +907,10 @@ TEST_F(Test_Parse_TypeScript_Class, capture_diags); SCOPED_TRACE(p.code); p.parse_and_visit_statement(); - EXPECT_THAT(p.errors, ElementsAreArray({ - MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), - })); + EXPECT_THAT(p.legacy_errors(), + ElementsAreArray({ + MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), + })); } { @@ -918,9 +919,10 @@ TEST_F(Test_Parse_TypeScript_Class, capture_diags); SCOPED_TRACE(p.code); p.parse_and_visit_statement(); - EXPECT_THAT(p.errors, ElementsAreArray({ - MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), - })); + EXPECT_THAT(p.legacy_errors(), + ElementsAreArray({ + MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), + })); } { @@ -929,9 +931,10 @@ TEST_F(Test_Parse_TypeScript_Class, capture_diags); SCOPED_TRACE(p.code); p.parse_and_visit_statement(); - EXPECT_THAT(p.errors, ElementsAreArray({ - MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), - })); + EXPECT_THAT(p.legacy_errors(), + ElementsAreArray({ + MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), + })); } { @@ -941,7 +944,7 @@ TEST_F(Test_Parse_TypeScript_Class, SCOPED_TRACE(p.code); p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), UnorderedElementsAre( DIAG_TYPE( Diag_TypeScript_Optional_Properties_Not_Allowed_In_JavaScript), @@ -955,9 +958,10 @@ TEST_F(Test_Parse_TypeScript_Class, capture_diags); SCOPED_TRACE(p.code); p.parse_and_visit_statement(); - EXPECT_THAT(p.errors, ElementsAreArray({ - MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), - })); + EXPECT_THAT(p.legacy_errors(), + ElementsAreArray({ + MATCH_ACCESS_SPECIFIER_ERROR(u8"class C { "_sv), + })); } #undef MATCH_ACCESS_SPECIFIER_ERROR } @@ -1014,7 +1018,7 @@ TEST_F(Test_Parse_TypeScript_Class, p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, Diag_Access_Specifier_Must_Precede_Other_Modifiers, @@ -1035,7 +1039,7 @@ TEST_F(Test_Parse_TypeScript_Class, p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, Diag_Access_Specifier_Must_Precede_Other_Modifiers, @@ -1890,7 +1894,7 @@ TEST_F(Test_Parse_TypeScript_Class, parameter_property_in_constructor) { p.parse_and_visit_module(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, Diag_Access_Specifier_Must_Precede_Other_Modifiers, @@ -1996,7 +2000,7 @@ TEST_F(Test_Parse_TypeScript_Class, ElementsAreArray( {func_param_decl(u8"field"_sv), class_decl(u8"C"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, @@ -2021,7 +2025,7 @@ TEST_F(Test_Parse_TypeScript_Class, ElementsAreArray( {func_param_decl(u8"field"_sv), class_decl(u8"C"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, diff --git a/test/test-parse-typescript-declare-class.cpp b/test/test-parse-typescript-declare-class.cpp index cf8ed01227..8786c31f82 100644 --- a/test/test-parse-typescript-declare-class.cpp +++ b/test/test-parse-typescript-declare-class.cpp @@ -526,7 +526,7 @@ TEST_F(Test_Parse_TypeScript_Declare_Class, ElementsAreArray( {func_param_decl(u8"field"_sv), class_decl(u8"C"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, @@ -551,7 +551,7 @@ TEST_F(Test_Parse_TypeScript_Declare_Class, ElementsAreArray( {func_param_decl(u8"field"_sv), class_decl(u8"C"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, diff --git a/test/test-parse-typescript-enum.cpp b/test/test-parse-typescript-enum.cpp index a13af2d55f..a1292fa0c9 100644 --- a/test/test-parse-typescript-enum.cpp +++ b/test/test-parse-typescript-enum.cpp @@ -373,7 +373,7 @@ TEST_F(Test_Parse_TypeScript_Enum, SCOPED_TRACE(p.code); p.parse_and_visit_module(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_TypeScript_Enum_Value_Must_Be_Constant, // @@ -392,7 +392,7 @@ TEST_F(Test_Parse_TypeScript_Enum, SCOPED_TRACE(p.code); p.parse_and_visit_module(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_TypeScript_Enum_Value_Must_Be_Constant, // diff --git a/test/test-parse-typescript-function-overload.cpp b/test/test-parse-typescript-function-overload.cpp index d173e91245..da95fcf013 100644 --- a/test/test-parse-typescript-function-overload.cpp +++ b/test/test-parse-typescript-function-overload.cpp @@ -364,7 +364,7 @@ TEST_F(Test_Parse_TypeScript_Function_Overload, p.variable_declarations, ElementsAreArray({function_decl(u8"g"_sv), function_decl(u8"f"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, diff --git a/test/test-parse-typescript-interface.cpp b/test/test-parse-typescript-interface.cpp index e5430d2502..cb17c7df9d 100644 --- a/test/test-parse-typescript-interface.cpp +++ b/test/test-parse-typescript-interface.cpp @@ -1285,7 +1285,7 @@ TEST_F(Test_Parse_TypeScript_Interface, field_initializers_are_not_allowed) { "visit_end_of_module", })); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Interface_Fields_Cannot_Have_Initializers, // @@ -1300,7 +1300,7 @@ TEST_F(Test_Parse_TypeScript_Interface, field_initializers_are_not_allowed) { typescript_options, capture_diags); p.parse_and_visit_module(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ::testing::UnorderedElementsAreArray({ DIAG_TYPE(Diag_Interface_Properties_Cannot_Be_Static), DIAG_TYPE_OFFSETS( diff --git a/test/test-parse-var.cpp b/test/test-parse-var.cpp index 686a655eba..5a39398597 100644 --- a/test/test-parse-var.cpp +++ b/test/test-parse-var.cpp @@ -320,7 +320,7 @@ TEST_F(Test_Parse_Var, parse_invalid_let) { p.parse_and_visit_statement(); EXPECT_THAT(p.variable_declarations, IsEmpty()); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Declare_Variable_With_Keyword_Name, // @@ -334,7 +334,7 @@ TEST_F(Test_Parse_Var, parse_invalid_let) { p.parse_and_visit_statement(); EXPECT_THAT(p.variable_declarations, IsEmpty()); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Declare_Variable_With_Keyword_Name, // @@ -351,7 +351,7 @@ TEST_F(Test_Parse_Var, parse_invalid_let) { "visit_variable_use", // x })); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Declare_Variable_With_Keyword_Name, // @@ -519,7 +519,7 @@ TEST_F(Test_Parse_Var, parse_invalid_let) { ElementsAreArray( {let_init_decl(u8"x"_sv), let_noinit_decl(u8"z"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, Diag_Cannot_Update_Variable_During_Declaration, // @@ -545,7 +545,7 @@ TEST_F(Test_Parse_Var, parse_invalid_let) { ElementsAreArray( {const_init_decl(u8"x"_sv), const_init_decl(u8"y"_sv)})); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_2_OFFSETS( p.code, Diag_Cannot_Update_Variable_During_Declaration, // @@ -989,7 +989,7 @@ TEST_F(Test_Parse_Var, new_style_variables_cannot_be_named_let) { Test_Parser p(concat(declaration_kind, u8" let = null;"_sv), capture_diags); p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Cannot_Declare_Variable_Named_Let_With_Let, // diff --git a/test/test-parse-warning.cpp b/test/test-parse-warning.cpp index bad6c9877d..59752a4d53 100644 --- a/test/test-parse-warning.cpp +++ b/test/test-parse-warning.cpp @@ -174,7 +174,7 @@ TEST_F(Test_Parse_Warning, warn_on_pointless_string_compare_all_operators) { capture_diags); p.parse_and_visit_statement(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Pointless_String_Comp_Contains_Upper, @@ -282,7 +282,7 @@ TEST_F(Test_Parse_Warning, Test_Parser p(concat(u8"x "_sv, op, u8" []"_sv), capture_diags); p.parse_and_visit_expression(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, @@ -294,7 +294,7 @@ TEST_F(Test_Parse_Warning, Test_Parser p(concat(u8"x "_sv, op, u8" [1, 2, 3]"_sv), capture_diags); p.parse_and_visit_expression(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Pointless_Strict_Comp_Against_Array_Literal, @@ -309,7 +309,7 @@ TEST_F(Test_Parse_Warning, warn_on_pointless_compare_against_literals) { { Test_Parser p(concat(u8"x "_sv, op, u8" {}"_sv), capture_diags); p.parse_and_visit_expression(); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Pointless_Comp_Against_Object_Literal, @@ -319,7 +319,7 @@ TEST_F(Test_Parse_Warning, warn_on_pointless_compare_against_literals) { { Test_Parser p(concat(u8"x "_sv, op, u8" class C{}"_sv), capture_diags); p.parse_and_visit_expression(); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Pointless_Comp_Against_Class_Literal, @@ -332,7 +332,7 @@ TEST_F(Test_Parse_Warning, warn_on_pointless_compare_against_literals) { u8" ((parameter) => { some_object.call(parameter); })"_sv), capture_diags); p.parse_and_visit_expression(); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Pointless_Comp_Against_Arrow_Function, @@ -344,7 +344,7 @@ TEST_F(Test_Parse_Warning, warn_on_pointless_compare_against_literals) { capture_diags); p.parse_and_visit_expression(); EXPECT_THAT( - p.errors, + p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, diff --git a/test/test-parse.cpp b/test/test-parse.cpp index c20db76e86..46f441783a 100644 --- a/test/test-parse.cpp +++ b/test/test-parse.cpp @@ -48,7 +48,7 @@ TEST_F(Test_Parse, statement_starting_with_invalid_token) { Test_Parser p(concat(token, u8" x"_sv), capture_diags); SCOPED_TRACE(p.code); p.parse_and_visit_module(); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS(p.code, Diag_Unexpected_Token, // token, 0, token), @@ -169,7 +169,7 @@ TEST_F(Test_Parse, asi_for_statement_at_newline) { EXPECT_THAT(p.variable_uses, ElementsAreArray({u8"console", u8"console"})); CLI_Source_Position::Offset_Type end_of_first_expression = u8"console.log('hello')"_sv.size(); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ElementsAreArray({ DIAG_TYPE_OFFSETS( p.code, Diag_Missing_Semicolon_After_Statement, // @@ -741,8 +741,8 @@ TEST_F(Test_No_Overflow, parser_depth_limit_not_exceeded) { SCOPED_TRACE(p.code); bool ok = p.parse_and_visit_module_catching_fatal_parse_errors(); EXPECT_TRUE(ok); - EXPECT_THAT(p.errors, ::testing::Not(::testing::Contains( - DIAG_TYPE(Diag_Depth_Limit_Exceeded)))); + EXPECT_THAT(p.legacy_errors(), ::testing::Not(::testing::Contains( + DIAG_TYPE(Diag_Depth_Limit_Exceeded)))); } { @@ -799,8 +799,8 @@ TEST_F(Test_No_Overflow, certain_syntax_does_not_have_stack_limit) { SCOPED_TRACE(p.code); bool ok = p.parse_and_visit_module_catching_fatal_parse_errors(); EXPECT_TRUE(ok); - EXPECT_THAT(p.errors, ::testing::Not(::testing::Contains( - DIAG_TYPE(Diag_Depth_Limit_Exceeded)))); + EXPECT_THAT(p.legacy_errors(), ::testing::Not(::testing::Contains( + DIAG_TYPE(Diag_Depth_Limit_Exceeded)))); } } @@ -852,7 +852,7 @@ TEST_F(Test_Overflow, parser_depth_limit_exceeded) { capture_diags); bool ok = p.parse_and_visit_module_catching_fatal_parse_errors(); EXPECT_FALSE(ok); - EXPECT_THAT(p.errors, + EXPECT_THAT(p.legacy_errors(), ::testing::Contains(DIAG_TYPE(Diag_Depth_Limit_Exceeded))); }