You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

57 lines
1.1 KiB

Code.require_file "../test_helper.exs", __DIR__
Code.require_file "../../lib/api/comp.exs", __DIR__
defmodule Alchemist.API.CompTest do
use ExUnit.Case, async: true
import ExUnit.CaptureIO
alias Alchemist.API.Comp
test "COMP request with empty hint" do
assert capture_io(fn ->
Comp.process([nil, Elixir, [], [] ])
end) =~ """
import/2
quote/2
require/2
END-OF-COMP
"""
end
test "COMP request without empty hint" do
assert capture_io(fn ->
Comp.process(['is_b', Elixir, [], []])
end) =~ """
is_b
is_binary/1
is_bitstring/1
is_boolean/1
END-OF-COMP
"""
end
test "COMP request with an alias" do
assert capture_io(fn ->
Comp.process(['MyList.flat', Elixir, [], [{MyList, List}]])
end) =~ """
MyList.flatten
flatten/1
flatten/2
END-OF-COMP
"""
end
test "COMP request with a module hint" do
assert capture_io(fn ->
Comp.process(['Str', Elixir, [], []])
end) =~ """
Str
Stream
String
StringIO
END-OF-COMP
"""
end
end