@@ -55,6 +55,25 @@ defmodule Mix.UmbrellaTest do
5555 end
5656 end
5757
58+ test "list deps for umbrella as dependency" do
59+ in_fixture ( "umbrella_dep" , fn ->
60+ Mix.Project . in_project ( :umbrella_dep , "." , fn _ ->
61+ Mix.Task . run "deps"
62+ assert_received { :mix_shell , :info , [ "* umbrella (deps/umbrella)" ] }
63+ assert_received { :mix_shell , :info , [ "* foo (apps/foo)" ] }
64+ end )
65+ end )
66+ end
67+
68+ test "compile for umbrella as dependency" do
69+ in_fixture "umbrella_dep" , fn ->
70+ Mix.Project . in_project ( :umbrella_dep , "." , fn _ ->
71+ Mix.Task . run "deps.compile"
72+ assert Bar . bar == "hello world"
73+ end )
74+ end
75+ end
76+
5877 defmodule CycleDeps do
5978 def project do
6079 [ app: :umbrella_dep ,
@@ -112,22 +131,25 @@ defmodule Mix.UmbrellaTest do
112131 end
113132 end
114133
115- test "list deps for umbrella as dependency" do
116- in_fixture ( "umbrella_dep" , fn ->
117- Mix.Project . in_project ( :umbrella_dep , "." , fn _ ->
118- Mix.Task . run "deps"
119- assert_received { :mix_shell , :info , [ "* umbrella (deps/umbrella)" ] }
120- assert_received { :mix_shell , :info , [ "* foo (apps/foo)" ] }
121- end )
122- end )
123- end
134+ test "uses dependency aliases" do
135+ in_fixture "umbrella_dep/deps/umbrella" , fn ->
136+ Mix.Project . in_project :umbrella , "." , fn _ ->
137+ File . write! "apps/bar/mix.exs" , """
138+ defmodule Bar.Mix do
139+ use Mix.Project
124140
125- test "compile for umbrella as dependency" do
126- in_fixture "umbrella_dep" , fn ->
127- Mix.Project . in_project ( :umbrella_dep , "." , fn _ ->
128- Mix.Task . run "deps.compile"
129- assert "hello world" == Bar . bar
130- end )
141+ def project do
142+ [app: :bar,
143+ version: "0.1.0",
144+ aliases: [compile: fn _ -> Mix.shell.info "no compile bar" end]]
145+ end
146+ end
147+ """
148+
149+ Mix.Task . run "compile"
150+ assert_receive { :mix_shell , :info , [ "no compile bar" ] }
151+ refute_receive { :mix_shell , :info , [ "Compiled lib/bar.ex" ] }
152+ end
131153 end
132154 end
133155
0 commit comments