@@ -71,7 +71,29 @@ defmodule ElixirLS.Experimental.FormatTest do
7171 ] t == result
7272 end
7373
74- test "it can split a long line to two lines" do
74+ test "it can format a long line function definition into multiple lines" do
75+ unformatted = ~q[
76+ defmodule Unformatted do
77+ def very_loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong(s) do
78+ s
79+ end
80+ end
81+ ] t
82+
83+ formatted = ~q[
84+ defmodule Unformatted do
85+ def very_loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong(
86+ s
87+ ) do
88+ s
89+ end
90+ end
91+ ] t
92+
93+ assert { :ok , formatted } == modify ( unformatted )
94+ end
95+
96+ test "it can format a long line function call into two lines" do
7597 unformatted = ~q[
7698 defmodule Unformatted do
7799 def foo1(s) do
@@ -103,37 +125,32 @@ defmodule ElixirLS.Experimental.FormatTest do
103125 assert { :ok , formatted } == modify ( unformatted )
104126 end
105127
106- test "it can split a long line into multiple lines" do
128+ test "it can format a long line function definition(with multiple args) into multiple lines" do
107129 unformatted = ~q[
108130 defmodule Unformatted do
109- def foo(foo1, foo2, foo3, foo4, foo5, foo6, foo7, foo8, foo9, foo10, foo11, foo12, foo13, foo14, foo15, foo16) do
110- foo = foo14 <> foo15 <> foo16
111- {foo1, foo2, foo3, foo4, foo5, foo6, foo7, foo8, foo9, foo10, foo11, foo12, foo13, foo}
131+ def foo(arg1, arg2, arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12, _arg13) do
132+ arg1 <> arg2 <> arg3
112133 end
113134 end
114135 ] t
115136 formatted = ~q[
116137 defmodule Unformatted do
117138 def foo(
118- foo1,
119- foo2,
120- foo3,
121- foo4,
122- foo5,
123- foo6,
124- foo7,
125- foo8,
126- foo9,
127- foo10,
128- foo11,
129- foo12,
130- foo13,
131- foo14,
132- foo15,
133- foo16
139+ arg1,
140+ arg2,
141+ arg3,
142+ _arg4,
143+ _arg5,
144+ _arg6,
145+ _arg7,
146+ _arg8,
147+ _arg9,
148+ _arg10,
149+ _arg11,
150+ _arg12,
151+ _arg13
134152 ) do
135- foo = foo14 <> foo15 <> foo16
136- {foo1, foo2, foo3, foo4, foo5, foo6, foo7, foo8, foo9, foo10, foo11, foo12, foo13, foo}
153+ arg1 <> arg2 <> arg3
137154 end
138155 end
139156 ] t
0 commit comments