Skip to content

Commit 2ed1c37

Browse files
author
José Valim
committed
Fix Macro.to_string with &
1 parent 46fae17 commit 2ed1c37

File tree

2 files changed

+21
-28
lines changed

2 files changed

+21
-28
lines changed

lib/elixir/lib/macro.ex

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -225,11 +225,6 @@ defmodule Macro do
225225
"fn\n " <> block <> "\nend"
226226
end
227227

228-
# Partial call
229-
def to_string({ :&, _, [num] }) do
230-
"&#{num}"
231-
end
232-
233228
# left -> right
234229
def to_string({ :->, _, _ } = arrow) do
235230
"(" <> arrow_to_string(arrow, true) <> ")"

lib/elixir/test/elixir/macro_test.exs

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -199,49 +199,49 @@ defmodule MacroTest do
199199
end)
200200
end
201201

202-
## to_binary
202+
## to_string
203203

204-
test :var_to_binary do
204+
test :var_to_string do
205205
assert Macro.to_string(quote do: foo) == "foo"
206206
end
207207

208-
test :local_call_to_binary do
208+
test :local_call_to_string do
209209
assert Macro.to_string(quote do: foo(1, 2, 3)) == "foo(1, 2, 3)"
210210
assert Macro.to_string(quote do: foo([1, 2, 3])) == "foo([1, 2, 3])"
211211
end
212212

213-
test :remote_call_to_binary do
213+
test :remote_call_to_string do
214214
assert Macro.to_string(quote do: foo.bar(1, 2, 3)) == "foo.bar(1, 2, 3)"
215215
assert Macro.to_string(quote do: foo.bar([1, 2, 3])) == "foo.bar([1, 2, 3])"
216216
end
217217

218-
test :low_atom_remote_call_to_binary do
218+
test :low_atom_remote_call_to_string do
219219
assert Macro.to_string(quote do: :foo.bar(1, 2, 3)) == ":foo.bar(1, 2, 3)"
220220
end
221221

222-
test :big_atom_remote_call_to_binary do
222+
test :big_atom_remote_call_to_string do
223223
assert Macro.to_string(quote do: Foo.Bar.bar(1, 2, 3)) == "Foo.Bar.bar(1, 2, 3)"
224224
end
225225

226-
test :remote_and_fun_call_to_binary do
226+
test :remote_and_fun_call_to_string do
227227
assert Macro.to_string(quote do: foo.bar.(1, 2, 3)) == "foo.bar().(1, 2, 3)"
228228
assert Macro.to_string(quote do: foo.bar.([1, 2, 3])) == "foo.bar().([1, 2, 3])"
229229
end
230230

231-
test :atom_call_to_binary do
231+
test :atom_call_to_string do
232232
assert Macro.to_string(quote do: :foo.(1, 2, 3)) == ":foo.(1, 2, 3)"
233233
end
234234

235-
test :aliases_call_to_binary do
235+
test :aliases_call_to_string do
236236
assert Macro.to_string(quote do: Foo.Bar.baz(1, 2, 3)) == "Foo.Bar.baz(1, 2, 3)"
237237
assert Macro.to_string(quote do: Foo.Bar.baz([1, 2, 3])) == "Foo.Bar.baz([1, 2, 3])"
238238
end
239239

240-
test :arrow_to_binary do
240+
test :arrow_to_string do
241241
assert Macro.to_string(quote do: foo(1, (2 -> 3))) == "foo(1, (2 -> 3))"
242242
end
243243

244-
test :blocks_to_binary do
244+
test :blocks_to_string do
245245
assert Macro.to_string(quote do: (1; 2; (:foo; :bar); 3)) <> "\n" == """
246246
(
247247
1
@@ -255,7 +255,7 @@ defmodule MacroTest do
255255
"""
256256
end
257257

258-
test :if_else_to_binary do
258+
test :if_else_to_string do
259259
assert Macro.to_string(quote do: (if foo, do: bar, else: baz)) <> "\n" == """
260260
if(foo) do
261261
bar
@@ -265,7 +265,7 @@ defmodule MacroTest do
265265
"""
266266
end
267267

268-
test :case_to_binary do
268+
test :case_to_string do
269269
assert Macro.to_string(quote do: (case foo do true -> 0; false -> (1; 2) end)) <> "\n" == """
270270
case(foo) do
271271
true ->
@@ -277,7 +277,7 @@ defmodule MacroTest do
277277
"""
278278
end
279279

280-
test :fn_to_binary do
280+
test :fn_to_string do
281281
assert Macro.to_string(quote do: (fn -> 1 + 2 end)) == "fn -> 1 + 2 end"
282282
assert Macro.to_string(quote do: (fn(x) -> x + 1 end)) == "fn x -> x + 1 end"
283283

@@ -306,11 +306,7 @@ defmodule MacroTest do
306306
assert Macro.to_string(quote do: ((x, y) when z -> w)) == "((x, y) when z -> w)"
307307
end
308308

309-
test :partial_to_binary do
310-
assert Macro.to_string(quote do: identity(&1)) == "identity(&1)"
311-
end
312-
313-
test :nested_to_binary do
309+
test :nested_to_string do
314310
assert Macro.to_string(quote do: (defmodule Foo do def foo do 1 + 1 end end)) <> "\n" == """
315311
defmodule(Foo) do
316312
def(foo) do
@@ -320,28 +316,30 @@ defmodule MacroTest do
320316
"""
321317
end
322318

323-
test :op_precedence_to_binary do
319+
test :op_precedence_to_string do
324320
assert Macro.to_string(quote do: (1 + 2) * (3 - 4)) == "(1 + 2) * (3 - 4)"
325321
assert Macro.to_string(quote do: ((1 + 2) * 3) - 4) == "((1 + 2) * 3) - 4"
326322
end
327323

328-
test :containers_to_binary do
324+
test :containers_to_string do
329325
assert Macro.to_string(quote do: { 1, 2, 3 }) == "{1, 2, 3}"
330326
assert Macro.to_string(quote do: [ 1, 2, 3 ]) == "[1, 2, 3]"
331327
assert Macro.to_string(quote do: << 1, 2, 3 >>) == "<<1, 2, 3>>"
332328
end
333329

334-
test :binary_ops_to_binary do
330+
test :binary_ops_to_string do
335331
assert Macro.to_string(quote do: 1 + 2) == "1 + 2"
336332
assert Macro.to_string(quote do: [ 1, 2 | 3 ]) == "[1, 2 | 3]"
337333
assert Macro.to_string(quote do: [h|t] = [1, 2, 3]) == "[h | t] = [1, 2, 3]"
338334
end
339335

340-
test :unary_ops_to_binary do
336+
test :unary_ops_to_string do
341337
assert Macro.to_string(quote do: not 1) == "not 1"
342338
assert Macro.to_string(quote do: not foo) == "not foo"
343339
assert Macro.to_string(quote do: -1) == "-1"
344340
assert Macro.to_string(quote do: @foo(bar)) == "@foo(bar)"
341+
assert Macro.to_string(quote do: identity(&1)) == "identity(&1)"
342+
assert Macro.to_string(quote do: identity(&foo)) == "identity(&foo)"
345343
end
346344

347345
## safe_term

0 commit comments

Comments
 (0)