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.
 
 

45 lines
1.6 KiB

Code.require_file "../test_helper.exs", __DIR__
Code.require_file "../../lib/api/defl.exs", __DIR__
defmodule Alchemist.API.DeflTest do
use ExUnit.Case
alias Alchemist.API.Defl
test "DEFL request call for defmodule" do
context = [context: Elixir, imports: [], aliases: []]
assert Defl.process([nil, :defmodule, context]) =~ "lib/elixir/lib/kernel.ex"
end
test "DEFL request call for import" do
context = [context: Elixir, imports: [], aliases: []]
assert Defl.process([nil, :import, context]) =~ "lib/elixir/lib/kernel/special_forms.ex"
end
test "DEFL request call for create_file with available import" do
context = [context: Elixir, imports: [Mix.Generator], aliases: []]
assert Defl.process([nil, :create_file, context]) =~ "lib/mix/lib/mix/generator.ex"
end
test "DEFL request call for MyList.flatten with available aliases" do
context = [context: Elixir, imports: [], aliases: [{MyList, List}]]
assert Defl.process([MyList, :flatten, context]) =~ "lib/elixir/lib/list.ex"
end
test "DEFL request call for String module" do
context = [context: Elixir, imports: [], aliases: []]
assert Defl.process([String, nil, context]) =~ "lib/elixir/lib/string.ex"
end
test "DEFL request call for erlang module" do
context = [ context: Elixir, imports: [], aliases: [] ]
assert Defl.process([:lists, :duplicate, context]) =~ "lib/stdlib/src/lists.erl"
end
test "DEFL request call for none existing module" do
context = [ context: Elixir, imports: [], aliases: [] ]
assert Defl.process([Rock, :duplicate, context]) == nil
end
end