@@ -33,14 +33,14 @@ defmodule Mix.Tasks.Deps.TreeTest do
3333 Mix.Project . push ConvergedDepsApp
3434
3535 in_tmp context . test , fn ->
36- Mix.Tasks.Deps.Tree . run ( [ "--pretty" ] )
36+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty"] )
3737 assert_received { :mix_shell , :info , [ "sample" ] }
3838 assert_received { :mix_shell , :info , [ "├── git_repo >= 0.1.0 (" <> _ ] }
3939 assert_received { :mix_shell , :info , [ "└── deps_on_git_repo 0.2.0 (" <> _ ] }
4040 refute_received { :mix_shell , :info , [ " └── git_repo (" <> _ ] }
4141
4242 Mix.Tasks.Deps.Get . run ( [ ] )
43- Mix.Tasks.Deps.Tree . run ( [ "--pretty" ] )
43+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty"] )
4444 assert_received { :mix_shell , :info , [ "sample" ] }
4545 assert_received { :mix_shell , :info , [ "├── git_repo >= 0.1.0 (" <> _ ] }
4646 assert_received { :mix_shell , :info , [ "└── deps_on_git_repo 0.2.0 (" <> _ ] }
@@ -53,7 +53,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
5353 test "show the dependency tree for umbrella apps" do
5454 in_fixture "umbrella_dep/deps/umbrella" , fn ->
5555 Mix.Project . in_project ( :umbrella , "." , fn _ ->
56- Mix.Task . run "deps.tree" , [ "--pretty" ]
56+ Mix.Task . run "deps.tree" , [ "--format" , " pretty"]
5757 assert_received { :mix_shell , :info , [ "foo" ] }
5858 assert_received { :mix_shell , :info , [ "bar" ] }
5959 assert_received { :mix_shell , :info , [ "└── foo (../foo)" ] }
@@ -66,10 +66,10 @@ defmodule Mix.Tasks.Deps.TreeTest do
6666
6767 in_tmp context . test , fn ->
6868 assert_raise Mix.Error , "could not find dependency unknown" , fn ->
69- Mix.Tasks.Deps.Tree . run ( [ "--pretty" , "unknown" ] )
69+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty", "unknown" ] )
7070 end
7171
72- Mix.Tasks.Deps.Tree . run ( [ "--pretty" , "deps_on_git_repo" ] )
72+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty", "deps_on_git_repo" ] )
7373 assert_received { :mix_shell , :info , [ "deps_on_git_repo 0.2.0 (" <> _ ] }
7474 refute_received { :mix_shell , :info , [ "└── git_repo (" <> _ ] }
7575 end
@@ -79,7 +79,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
7979 Mix.Project . push OverriddenDepsApp
8080
8181 in_tmp context . test , fn ->
82- Mix.Tasks.Deps.Tree . run ( [ "--pretty" ] )
82+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty"] )
8383 assert_received { :mix_shell , :info , [ "sample" ] }
8484 assert_received { :mix_shell , :info , [ "├── git_repo (" <> msg ] }
8585 assert_received { :mix_shell , :info , [ "└── deps_on_git_repo ~r/0.2.0/ (" <> _ ] }
@@ -91,7 +91,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
9191 Mix.Project . push OverriddenDepsApp
9292
9393 in_tmp context . test , fn ->
94- Mix.Tasks.Deps.Tree . run ( [ "--pretty" , "--exclude" , "deps_on_git_repo" ] )
94+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty", "--exclude" , "deps_on_git_repo" ] )
9595 assert_received { :mix_shell , :info , [ "sample" ] }
9696 assert_received { :mix_shell , :info , [ "└── git_repo (" <> _ ] }
9797 refute_received { :mix_shell , :info , [ "└── deps_on_git_repo ~r/0.2.0/ (" <> _ ] }
@@ -102,10 +102,38 @@ defmodule Mix.Tasks.Deps.TreeTest do
102102 Mix.Project . push OverriddenDepsApp
103103
104104 in_tmp context . test , fn ->
105- Mix.Tasks.Deps.Tree . run ( [ "--pretty" , "--only" , "prod" ] )
105+ Mix.Tasks.Deps.Tree . run ( [ "--format" , " pretty", "--only" , "prod" ] )
106106 assert_received { :mix_shell , :info , [ "sample" ] }
107107 assert_received { :mix_shell , :info , [ "└── git_repo (" <> _ ] }
108108 refute_received { :mix_shell , :info , [ "└── deps_on_git_repo ~r/0.2.0/ (" <> _ ] }
109109 end
110110 end
111+
112+ test "shows the dependency tree in DOT graph format" , context do
113+ Mix.Project . push ConvergedDepsApp
114+
115+ in_tmp context . test , fn ->
116+ Mix.Tasks.Deps.Tree . run ( [ "--format" , "dot" ] )
117+
118+ assert File . read! ( "deps_tree.dot" ) == """
119+ digraph "dependency tree" {
120+ "sample" -> "git_repo" [label=" >= 0.1.0"]
121+ "sample" -> "deps_on_git_repo" [label=" 0.2.0"]
122+ }
123+ """
124+
125+ Mix.Tasks.Deps.Get . run ( [ ] )
126+ Mix.Tasks.Deps.Tree . run ( [ "--format" , "dot" ] )
127+
128+ assert File . read! ( "deps_tree.dot" ) == """
129+ digraph "dependency tree" {
130+ "sample" -> "git_repo" [label=" >= 0.1.0"]
131+ "sample" -> "deps_on_git_repo" [label=" 0.2.0"]
132+ "deps_on_git_repo" -> "git_repo" [label=""]
133+ }
134+ """
135+ end
136+ after
137+ purge [ DepsOnGitRepo.Mixfile , GitRepo.Mixfile ]
138+ end
111139end
0 commit comments