@@ -27,47 +27,40 @@ defmodule Credo.Check.Refactor.PassAsyncInTestCases do
27
27
28
28
# `use` with options
29
29
defp traverse (
30
- { :use , _ , [ { _ , meta , module_namespace } , [ _ | _ ] = options ] } = ast ,
30
+ { :use , meta , [ { _ , _meta , module_namespace } , [ _ | _ ] = options ] } = ast ,
31
31
issues ,
32
32
issue_meta
33
33
) do
34
- module_name = module_name_from ( module_namespace )
34
+ module_name = Credo.Code.Name . last ( module_namespace )
35
35
36
36
if String . ends_with? ( module_name , "Case" ) and ! Keyword . has_key? ( options , :async ) do
37
- { ast , issues ++ [ issue_for ( module_name , meta [ :line ] , issue_meta ) ] }
37
+ { ast , issues ++ [ issue_for ( meta [ :line ] , issue_meta ) ] }
38
38
else
39
39
{ ast , issues }
40
40
end
41
41
end
42
42
43
43
# `use` without options
44
- defp traverse ( { :use , _ , [ { _ , meta , module_namespace } ] } = ast , issues , issue_meta ) do
45
- module_name = module_name_from ( module_namespace )
44
+ defp traverse ( { :use , meta , [ { _op , _meta , module_namespace } ] } = ast , issues , issue_meta ) do
45
+ module_name = Credo.Code.Name . last ( module_namespace )
46
46
47
47
if String . ends_with? ( module_name , "Case" ) do
48
- { ast , issues ++ [ issue_for ( module_name , meta [ :line ] , issue_meta ) ] }
48
+ { ast , issues ++ [ issue_for ( meta [ :line ] , issue_meta ) ] }
49
49
else
50
50
{ ast , issues }
51
51
end
52
52
end
53
53
54
- # Ignore all other AST nodes
55
54
defp traverse ( ast , issues , _issue_meta ) do
56
55
{ ast , issues }
57
56
end
58
57
59
- defp issue_for ( module_name , line_no , issue_meta ) do
58
+ defp issue_for ( line_no , issue_meta ) do
60
59
format_issue (
61
60
issue_meta ,
62
61
message: "Pass an `:async` boolean option to `use` a test case module" ,
63
- trigger: module_name ,
62
+ trigger: "use" ,
64
63
line_no: line_no
65
64
)
66
65
end
67
-
68
- defp module_name_from ( module_namespace ) do
69
- module_namespace
70
- |> List . last ( )
71
- |> to_string ( )
72
- end
73
66
end
0 commit comments