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