@@ -16,18 +16,18 @@ defmodule Styler.StyleCase do
16
16
17
17
using do
18
18
quote do
19
- import unquote ( __MODULE__ ) , only: [ assert_style: 1 , assert_style: 2 , style: 1 ]
19
+ import unquote ( __MODULE__ ) , only: [ assert_style: 1 , assert_style: 2 , assert_style: 3 , assert_style: 4 , style: 3 ]
20
20
end
21
21
end
22
22
23
- defmacro assert_style ( before , expected \\ nil ) do
23
+ defmacro assert_style ( before , expected \\ nil , filename \\ "testfile" , opts \\ [ ] ) do
24
24
expected = expected || before
25
25
26
- quote bind_quoted: [ before: before , expected: expected ] do
26
+ quote bind_quoted: [ before: before , expected: expected , filename: filename , opts: opts ] do
27
27
alias Styler.Zipper
28
28
29
29
expected = String . trim ( expected )
30
- { styled_ast , styled , styled_comments } = style ( before )
30
+ { styled_ast , styled , styled_comments } = style ( before , filename , opts )
31
31
32
32
if styled != expected and ExUnit . configuration ( ) [ :trace ] do
33
33
IO . puts ( "\n ======Given=============\n " )
@@ -89,7 +89,7 @@ defmodule Styler.StyleCase do
89
89
end )
90
90
91
91
assert expected == styled
92
- { _ , restyled , _ } = style ( styled )
92
+ { _ , restyled , _ } = style ( styled , filename , opts )
93
93
94
94
assert restyled == styled , """
95
95
expected styling to be idempotent, but a second pass resulted in more changes.
@@ -107,9 +107,12 @@ defmodule Styler.StyleCase do
107
107
end
108
108
end
109
109
110
- def style ( code ) do
110
+ def style ( code , filename , opts ) do
111
111
{ ast , comments } = Styler . string_to_quoted_with_comments ( code )
112
- { styled_ast , comments } = Styler . style ( { ast , comments } , "testfile" , on_error: :raise )
112
+
113
+ opts = Keyword . put ( opts , :on_error , :raise )
114
+
115
+ { styled_ast , comments } = Styler . style ( { ast , comments } , Path . join ( File . cwd! ( ) , filename ) , opts )
113
116
114
117
try do
115
118
styled_code = styled_ast |> Styler . quoted_to_string ( comments ) |> String . trim_trailing ( "\n " )
0 commit comments