Skip to content

Commit 481d5ed

Browse files
authored
New test for issue quick-lint#953
1 parent 6d989a4 commit 481d5ed

File tree

1 file changed

+9
-60
lines changed

1 file changed

+9
-60
lines changed

test/test-parse-warning.cpp

Lines changed: 9 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -673,73 +673,22 @@ TEST_F(test_parse_warning,
673673
}
674674
}
675675

676-
TEST_F(test_parse_warning, warn_on_pointless_nullish_coalescing_operator) {
676+
TEST_F(test_parse_warning, warn_on_pointless_string_literal_comparison) {
677677
{
678-
test_parser p(u8"true ?? false"_sv, capture_diags);
679-
p.parse_and_visit_expression();
680-
681-
EXPECT_THAT(p.errors,
682-
ElementsAreArray({
683-
DIAG_TYPE_OFFSETS(
684-
p.code, diag_pointless_nullish_coalescing_operator,
685-
question_question, strlen(u8"true "), u8"??"_sv),
686-
}));
687-
}
688-
{
689-
test_parser p(u8"(a < b) ?? false"_sv, capture_diags);
690-
p.parse_and_visit_expression();
691-
692-
EXPECT_THAT(p.errors,
693-
ElementsAreArray({
694-
DIAG_TYPE_OFFSETS(
695-
p.code, diag_pointless_nullish_coalescing_operator,
696-
question_question, strlen(u8"(a < b) "), u8"??"_sv),
697-
}));
698-
}
699-
{
700-
test_parser p(u8"!b ?? false"_sv, capture_diags);
701-
p.parse_and_visit_expression();
702-
EXPECT_THAT(p.errors,
703-
ElementsAreArray({
704-
DIAG_TYPE_OFFSETS(
705-
p.code, diag_pointless_nullish_coalescing_operator,
706-
question_question, strlen(u8"!b "), u8"??"_sv),
707-
}));
708-
}
709-
{
710-
test_parser p(u8"'hi' ?? true"_sv, capture_diags);
711-
p.parse_and_visit_expression();
712-
EXPECT_THAT(p.errors,
713-
ElementsAreArray({
714-
DIAG_TYPE_OFFSETS(
715-
p.code, diag_pointless_nullish_coalescing_operator,
716-
question_question, strlen(u8"'hi' "), u8"??"_sv),
717-
}));
718-
}
719-
for (string8_view code : {
720-
u8"s.toLowerCase() ?? false"_sv,
721-
u8"s ?? false"_sv,
722-
u8"null ?? false"_sv,
723-
u8"(foo) ?? false"_sv,
724-
u8"{}.missingProp ?? false"_sv,
725-
u8"{}['missingProp'] ?? false"_sv,
726-
u8"await foo ?? false"_sv,
727-
u8"void 42 ?? false"_sv,
728-
u8"bar`hello` ?? false"_sv,
729-
u8"this ?? false"_sv,
730-
u8"(2+2 && null) ?? false"_sv,
731-
u8"(2+2 || null) ?? false"_sv,
732-
u8"(2+2 , null) ?? false"_sv,
733-
u8"(2+2 ?? null) ?? false"_sv,
734-
}) {
735-
SCOPED_TRACE(out_string8(code));
736-
test_parser p(code);
678+
test_parser p(u8"if('x' || 'y')"_sv, capture_diags);
737679
p.parse_and_visit_expression();
680+
EXPECT_THAT(
681+
p.errors,
682+
ElementsAreArray({
683+
DIAG_TYPE_OFFSETS(p.code, diag_pointless_comp_against_string_expression_literal,
684+
or_operator, strlen(u8"'x' "), u8"||"_sv),
685+
}));
738686
}
739687
}
740688
}
741689
}
742690

691+
743692
// quick-lint-js finds bugs in JavaScript programs.
744693
// Copyright (C) 2020 Matthew "strager" Glazar
745694
//

0 commit comments

Comments
 (0)