Use bare double underscores instead of atoms

This commit is contained in:
Uku Taht
2016-04-19 13:35:20 +01:00
parent 45619f6bdb
commit ea2bb8f9bf
14 changed files with 141 additions and 139 deletions

View File

@@ -2,7 +2,7 @@ defmodule BlanksTest do
use ExUnit.Case, async: true
test "simple replacement" do
ast = quote do: 1 + :__
ast = quote do: 1 + __
mangled = Blanks.replace(ast, 37)
assert {:+, [context: BlanksTest, import: Kernel], [1, 37]} == mangled
@@ -29,25 +29,25 @@ defmodule BlanksTest do
end
test "complex example" do
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [true, :__]}]}]
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [true, {:__, [], __MODULE__}]}]}]
assert [do: {:assert, [line: 5], [{:==, [line: 5], [true, true]}]}] == Blanks.replace(ast, true)
end
test "multiple arguments" do
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [:__, :__]}]}]
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [{:__, [], __MODULE__}, {:__, [], __MODULE__}]}]}]
assert [do: {:assert, [line: 5], [{:==, [line: 5], [true, false]}]}] == Blanks.replace(ast, [true, false])
end
test "counts simple blanks" do
ast = quote do: 1 + :__
ast = quote do: 1 + __
assert Blanks.count(ast) == 1
end
test "counts multiple blanks" do
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [:__, :__]}]}]
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [{:__, [], __MODULE__}, {:__, __MODULE__}]}]}]
assert Blanks.count(ast) == 2
end