chore(linter): replace with parse_general_jest_fn_new (#1237)

This commit is contained in:
Wenzhe Wang 2023-11-12 20:27:54 +08:00 committed by GitHub
parent d62631e239
commit 80f3d13761
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 30 additions and 57 deletions

View file

@ -10,8 +10,8 @@ use crate::{
context::LintContext,
rule::Rule,
utils::{
collect_possible_jest_call_node, parse_general_jest_fn_call_new, JestFnKind,
JestGeneralFnKind, ParsedGeneralJestFnCallNew, PossibleJestNode,
collect_possible_jest_call_node, parse_general_jest_fn_call, JestFnKind, JestGeneralFnKind,
ParsedGeneralJestFnCall, PossibleJestNode,
},
};
@ -93,10 +93,8 @@ impl Rule for NoDisabledTests {
fn run<'a>(possible_jest_node: &PossibleJestNode<'a, '_>, ctx: &LintContext<'a>) {
let node = possible_jest_node.node;
if let AstKind::CallExpression(call_expr) = node.kind() {
if let Some(jest_fn_call) =
parse_general_jest_fn_call_new(call_expr, possible_jest_node, ctx)
{
let ParsedGeneralJestFnCallNew { kind, members, name } = jest_fn_call;
if let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, possible_jest_node, ctx) {
let ParsedGeneralJestFnCall { kind, members, name } = jest_fn_call;
// `test('foo')`
let kind = match kind {
JestFnKind::Expect | JestFnKind::Unknown => return,

View file

@ -13,7 +13,7 @@ use crate::{
context::LintContext,
rule::Rule,
utils::{
collect_possible_jest_call_node, get_node_name, parse_general_jest_fn_call_new, JestFnKind,
collect_possible_jest_call_node, get_node_name, parse_general_jest_fn_call, JestFnKind,
JestGeneralFnKind, PossibleJestNode,
},
};
@ -92,9 +92,7 @@ impl Rule for NoDoneCallback {
fn run<'a>(possible_jest_node: &PossibleJestNode<'a, '_>, ctx: &LintContext<'a>) {
let node = possible_jest_node.node;
if let AstKind::CallExpression(call_expr) = node.kind() {
if let Some(jest_fn_call) =
parse_general_jest_fn_call_new(call_expr, possible_jest_node, ctx)
{
if let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, possible_jest_node, ctx) {
let kind = jest_fn_call.kind;
if !matches!(
kind,

View file

@ -11,9 +11,8 @@ use crate::{
fixer::Fix,
rule::Rule,
utils::{
collect_possible_jest_call_node, parse_general_jest_fn_call_new, JestFnKind,
JestGeneralFnKind, MemberExpressionElementNew, ParsedGeneralJestFnCallNew,
PossibleJestNode,
collect_possible_jest_call_node, parse_general_jest_fn_call, JestFnKind, JestGeneralFnKind,
MemberExpressionElementNew, ParsedGeneralJestFnCall, PossibleJestNode,
},
};
@ -68,11 +67,10 @@ impl Rule for NoFocusedTests {
fn run<'a>(possible_jest_node: &PossibleJestNode<'a, '_>, ctx: &LintContext<'a>) {
let node = possible_jest_node.node;
let AstKind::CallExpression(call_expr) = node.kind() else { return };
let Some(jest_fn_call) = parse_general_jest_fn_call_new(call_expr, possible_jest_node, ctx)
else {
let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, possible_jest_node, ctx) else {
return;
};
let ParsedGeneralJestFnCallNew { kind, members, name } = jest_fn_call;
let ParsedGeneralJestFnCall { kind, members, name } = jest_fn_call;
if !matches!(kind, JestFnKind::General(JestGeneralFnKind::Describe | JestGeneralFnKind::Test)) {
return;
}

View file

@ -16,8 +16,8 @@ use crate::{
context::LintContext,
rule::Rule,
utils::{
collect_possible_jest_call_node, parse_general_jest_fn_call_new, JestFnKind,
JestGeneralFnKind, PossibleJestNode,
collect_possible_jest_call_node, parse_general_jest_fn_call, JestFnKind, JestGeneralFnKind,
PossibleJestNode,
},
AstNode,
};
@ -121,7 +121,7 @@ fn filter_and_process_jest_result<'a>(
possible_jest_node: &PossibleJestNode<'a, '_>,
ctx: &LintContext<'a>,
) -> Option<(Span, &'a Atom, JestFnKind, AstNodeId)> {
let Some(result) = parse_general_jest_fn_call_new(call_expr, possible_jest_node, ctx) else {
let Some(result) = parse_general_jest_fn_call(call_expr, possible_jest_node, ctx) else {
return None;
};
let kind = result.kind;

View file

@ -14,7 +14,7 @@ use crate::{
rule::Rule,
utils::{
collect_possible_jest_call_node, get_node_name, parse_expect_jest_fn_call_new,
parse_general_jest_fn_call_new, JestFnKind, JestGeneralFnKind,
parse_general_jest_fn_call, JestFnKind, JestGeneralFnKind,
KnownMemberExpressionParentKindNew, ParsedExpectFnCallNew, PossibleJestNode,
},
AstNode,
@ -194,9 +194,7 @@ fn is_var_declarator_or_test_block<'a>(
AstKind::VariableDeclarator(_) => return true,
AstKind::CallExpression(call_expr) => {
if let Some(jest_node) = id_nodes_mapping.get(&node.id()) {
if let Some(jest_fn_call) =
parse_general_jest_fn_call_new(call_expr, jest_node, ctx)
{
if let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, jest_node, ctx) {
return matches!(
jest_fn_call.kind,
JestFnKind::General(JestGeneralFnKind::Test)

View file

@ -11,8 +11,8 @@ use crate::{
fixer::Fix,
rule::Rule,
utils::{
collect_possible_jest_call_node, parse_general_jest_fn_call_new, JestGeneralFnKind,
KnownMemberExpressionPropertyNew, ParsedGeneralJestFnCallNew, PossibleJestNode,
collect_possible_jest_call_node, parse_general_jest_fn_call, JestGeneralFnKind,
KnownMemberExpressionPropertyNew, ParsedGeneralJestFnCall, PossibleJestNode,
},
};
@ -61,11 +61,10 @@ impl Rule for NoTestPrefixes {
fn run<'a>(possible_jest_node: &PossibleJestNode<'a, '_>, ctx: &LintContext<'a>) {
let node = possible_jest_node.node;
let AstKind::CallExpression(call_expr) = node.kind() else { return };
let Some(jest_fn_call) = parse_general_jest_fn_call_new(call_expr, possible_jest_node, ctx)
else {
let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, possible_jest_node, ctx) else {
return;
};
let ParsedGeneralJestFnCallNew { kind, name, .. } = &jest_fn_call;
let ParsedGeneralJestFnCall { kind, name, .. } = &jest_fn_call;
let Some(kind) = kind.to_general() else { return };
if !matches!(kind, JestGeneralFnKind::Describe | JestGeneralFnKind::Test) {
@ -92,8 +91,8 @@ fn run<'a>(possible_jest_node: &PossibleJestNode<'a, '_>, ctx: &LintContext<'a>)
});
}
fn get_preferred_node_names(jest_fn_call: &ParsedGeneralJestFnCallNew) -> Atom {
let ParsedGeneralJestFnCallNew { members, name, .. } = jest_fn_call;
fn get_preferred_node_names(jest_fn_call: &ParsedGeneralJestFnCall) -> Atom {
let ParsedGeneralJestFnCall { members, name, .. } = jest_fn_call;
let preferred_modifier = if name.starts_with('f') { "only" } else { "skip" };
let member_names = members

View file

@ -13,8 +13,8 @@ use crate::{
context::LintContext,
rule::Rule,
utils::{
collect_possible_jest_call_node, parse_general_jest_fn_call_new, JestFnKind,
JestGeneralFnKind, PossibleJestNode,
collect_possible_jest_call_node, parse_general_jest_fn_call, JestFnKind, JestGeneralFnKind,
PossibleJestNode,
},
};
@ -75,8 +75,7 @@ impl Rule for ValidDescribeCallback {
fn run<'a>(possible_jest_node: &PossibleJestNode<'a, '_>, ctx: &LintContext<'a>) {
let node = possible_jest_node.node;
let AstKind::CallExpression(call_expr) = node.kind() else { return };
let Some(jest_fn_call) = parse_general_jest_fn_call_new(call_expr, possible_jest_node, ctx)
else {
let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, possible_jest_node, ctx) else {
return;
};
if !matches!(jest_fn_call.kind, JestFnKind::General(JestGeneralFnKind::Describe)) {

View file

@ -16,8 +16,8 @@ use crate::{
context::LintContext,
rule::Rule,
utils::{
collect_possible_jest_call_node, parse_general_jest_fn_call_new, JestFnKind,
JestGeneralFnKind, PossibleJestNode,
collect_possible_jest_call_node, parse_general_jest_fn_call, JestFnKind, JestGeneralFnKind,
PossibleJestNode,
},
};
@ -110,8 +110,7 @@ impl ValidTitle {
let AstKind::CallExpression(call_expr) = node.kind() else {
return;
};
let Some(jest_fn_call) =
parse_general_jest_fn_call_new(call_expr, possible_jest_fn_node, ctx)
let Some(jest_fn_call) = parse_general_jest_fn_call(call_expr, possible_jest_fn_node, ctx)
else {
return;
};

View file

@ -19,7 +19,6 @@ use crate::utils::jest::parse_jest_fn::ParsedJestFnCall;
pub use crate::utils::jest::parse_jest_fn::{
parse_jest_fn_call, ExpectError, KnownMemberExpressionParentKind,
KnownMemberExpressionProperty, MemberExpressionElement, ParsedExpectFnCall,
ParsedGeneralJestFnCall,
};
mod parse_jest_fn_new;
@ -28,8 +27,8 @@ pub use crate::utils::jest::parse_jest_fn_new::{
KnownMemberExpressionParentKind as KnownMemberExpressionParentKindNew,
KnownMemberExpressionProperty as KnownMemberExpressionPropertyNew,
MemberExpressionElement as MemberExpressionElementNew,
ParsedExpectFnCall as ParsedExpectFnCallNew,
ParsedGeneralJestFnCall as ParsedGeneralJestFnCallNew, ParsedJestFnCall as ParsedJestFnCallNew,
ParsedExpectFnCall as ParsedExpectFnCallNew, ParsedGeneralJestFnCall,
ParsedJestFnCall as ParsedJestFnCallNew,
};
const JEST_METHOD_NAMES: phf::Set<&'static str> = phf_set![
@ -119,26 +118,11 @@ pub fn is_type_of_jest_fn_call<'a>(
false
}
#[allow(unused)]
pub fn parse_general_jest_fn_call<'a>(
call_expr: &'a CallExpression<'a>,
node: &AstNode<'a>,
ctx: &LintContext<'a>,
) -> Option<ParsedGeneralJestFnCall<'a>> {
let jest_fn_call = parse_jest_fn_call(call_expr, node, ctx)?;
if let ParsedJestFnCall::GeneralJestFnCall(jest_fn_call) = jest_fn_call {
return Some(jest_fn_call);
}
None
}
// TODO: The new version of `parse_general_jest_fn_call`, will rename to `parse_general_jest_fn_call` after all replaced.
pub fn parse_general_jest_fn_call_new<'a>(
call_expr: &'a CallExpression<'a>,
possible_jest_node: &PossibleJestNode<'a, '_>,
ctx: &LintContext<'a>,
) -> Option<ParsedGeneralJestFnCallNew<'a>> {
) -> Option<ParsedGeneralJestFnCall<'a>> {
let jest_fn_call = parse_jest_fn_call_new(call_expr, possible_jest_node, ctx)?;
if let ParsedJestFnCallNew::GeneralJestFnCall(jest_fn_call) = jest_fn_call {