Files
n8n-openai-adapter/test/elixir/kernel/quote_test.exs
T
2012-05-13 15:33:57 +02:00

56 lines
865 B
Elixir

Code.require_file "../../test_helper", __FILE__
defmodule Kernel.QuoteTest.Hygiene do
defmacro no_interference do
quote do: a = 1
end
defmacro no_hygiene do
quote [hygiene: false] do
a = 1
end
end
defmacro write_interference do
quote do: var!(a) = 1
end
defmacro read_interference do
quote do: 10 = var!(a)
end
end
defmodule Kernel.QuoteTest do
use ExUnit.Case
import __MODULE__.Hygiene
test :no_interference do
a = 10
no_interference
assert a == 10
end
test :no_hygiene do
no_hygiene
assert a == 1
end
test :write_interference do
write_interference
assert a == 1
end
test :read_interference do
a = 10
read_interference
end
test :list do
assert quote(do: [1,2,3]) == [1,2,3]
end
test :tuple do
assert quote(do: { :a, 1 }) == {:a,1}
end
end