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

62 lines
1.3 KiB
Elixir

Code.require_file "../../test_helper", __FILE__
defmodule Kernel.RequireTest.Nested do
defmacro value, do: 1
end
defmodule Kernel.RequireTest do
require Kernel.RequireTest.Nested, as: Nested
use ExUnit.Case
defmacro my_macro do
quote do: 1 + 1
end
defmacrop my_private_macro do
quote do: 1 + 3
end
defmacro my_macro_with_default(value // 5) do
quote do: 1 + unquote(value)
end
test :require_erlang do
require Erlang.lists, as: MyList
assert MyList.flatten([1,[2],3]) == [1,2,3]
assert __MAIN__.MyList.Bar == :"__MAIN__.MyList.Bar"
assert MyList.Bar == :"__MAIN__.lists.Bar"
end
test :double_named_require do
require Kernel.RequireTest.Nested, as: Nested2
assert Nested.value == 1
assert Nested2.value == 1
end
test :default_required do
result = Elixir.Builtin.case 1 do
1 -> true
_ -> false
end
assert result
end
test :locals_are_always_required do
assert __MODULE__.my_macro == 2
end
test :locals_and_private_are_always_required do
assert my_private_macro == 4
end
test :locals_with_default_are_always_required do
assert my_macro_with_default == 6
end
test :cannot_be_called_dynamically_even_if_required do
x = Nested
assert_raise UndefinedFunctionError, fn -> x.value end
end
end