From c4dcaf540d7c8802cdac8ee06ab799fa2af3aedd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 20 Jun 2013 22:44:22 +0200 Subject: [PATCH] Slight clean up on erlang tests --- ...conditionals_test.erl => control_test.erl} | 15 ++++++++++++- lib/elixir/test/erlang/erlang_call_test.erl | 21 ------------------- lib/elixir/test/erlang/test_helper.erl | 3 +-- 3 files changed, 15 insertions(+), 24 deletions(-) rename lib/elixir/test/erlang/{conditionals_test.erl => control_test.erl} (95%) delete mode 100644 lib/elixir/test/erlang/erlang_call_test.erl diff --git a/lib/elixir/test/erlang/conditionals_test.erl b/lib/elixir/test/erlang/control_test.erl similarity index 95% rename from lib/elixir/test/erlang/conditionals_test.erl rename to lib/elixir/test/erlang/control_test.erl index 67953ba79b..772e08a01d 100644 --- a/lib/elixir/test/erlang/conditionals_test.erl +++ b/lib/elixir/test/erlang/control_test.erl @@ -1,4 +1,4 @@ --module(conditionals_test). +-module(control_test). -include("elixir.hrl"). -include_lib("eunit/include/eunit.hrl"). @@ -6,6 +6,11 @@ eval(Content) -> { Value, Binding, _ } = elixir:eval(Content, []), { Value, Binding }. +to_erl(String) -> + Forms = elixir_translator:'forms!'(String, 1, "nofile", []), + { Tree, _ } = elixir_translator:translate(Forms, elixir:scope_for_eval([])), + Tree. + % Booleans booleans_test() -> @@ -261,3 +266,11 @@ oror_test() -> {true, _} = eval("false && false || true") end, test_helper:run_and_remove(F, ['Elixir.Bar']). + +% Optimized + +optimized_if_test() -> + [{ 'case', _, _, + [{clause,_,[{atom,_,false}],[],[{atom,_,else}]}, + {clause,_,[{atom,_,true}],[],[{atom,_,do}]} ] + }] = to_erl("if is_list(x), do: :do, else: :else"). diff --git a/lib/elixir/test/erlang/erlang_call_test.erl b/lib/elixir/test/erlang/erlang_call_test.erl deleted file mode 100644 index 8eb8d77e78..0000000000 --- a/lib/elixir/test/erlang/erlang_call_test.erl +++ /dev/null @@ -1,21 +0,0 @@ --module(erlang_call_test). --export([match/0]). --include_lib("eunit/include/eunit.hrl"). - -eval(Content) -> - { Value, Binding, _ } = elixir:eval(Content, []), - { Value, Binding }. - -match() -> abs. - -erlang_atoms_test() -> - {abs, []} = eval(":abs"). - -erlang_tuple_test() -> - {[erlang,1,2], []} = eval("{ :erlang, 1, 2 }.tuple_to_list"). - -erlang_call_test() -> - {1, []} = eval(":erlang.abs(-1)"), - {_, []} = eval(":dict.new"), - {_, []} = eval(":dict.new()"), - {abs, []} = eval(":erlang_call_test.match()"). \ No newline at end of file diff --git a/lib/elixir/test/erlang/test_helper.erl b/lib/elixir/test/erlang/test_helper.erl index 5108c8d2aa..1e184a97d0 100644 --- a/lib/elixir/test/erlang/test_helper.erl +++ b/lib/elixir/test/erlang/test_helper.erl @@ -6,8 +6,7 @@ test() -> application:start(elixir), eunit:test([ atom_test, - conditionals_test, - erlang_call_test, + control_test, function_test, match_test, module_test,