@@ -32,42 +32,42 @@ defmodule Mix.Tasks.DocsTest do
32
32
end
33
33
34
34
test "accepts modules in :main" do
35
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: _ , main: "Sample" , source_beam: _ , ] } ] =
36
- run ( [ ] , [ app: :ex_doc , docs: [ main: Sample ] ] )
35
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: _ , main: "Sample" , source_beam: _ , ] } ] =
36
+ run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" , docs: [ main: Sample ] ] )
37
37
end
38
38
39
39
test "accepts files in :main" do
40
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: _ , source_beam: _ , main: "another" ] } ] =
41
- run ( [ ] , [ app: :ex_doc , docs: [ main: "another" ] ] )
40
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: _ , source_beam: _ , main: "another" ] } ] =
41
+ run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" , docs: [ main: "another" ] ] )
42
42
end
43
43
44
44
test "accepts output in :output" do
45
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: _ , source_beam: _ , output: "hello" ] } ] =
46
- run ( [ ] , [ app: :ex_doc , docs: [ output: "hello" ] ] )
45
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: _ , source_beam: _ , output: "hello" ] } ] =
46
+ run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" , docs: [ output: "hello" ] ] )
47
47
end
48
48
49
49
test "parses output with lower preference than options" do
50
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: _ , source_beam: _ , output: "world" ] } ] =
51
- run ( ~w( -o world) , [ app: :ex_doc , docs: [ output: "world" ] ] )
50
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: _ , source_beam: _ , output: "world" ] } ] =
51
+ run ( ~w( -o world) , [ app: :ex_doc , version: "1.2.3-dev" , docs: [ output: "world" ] ] )
52
52
end
53
53
54
54
test "includes dependencies" do
55
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: deps , source_beam: _ ] } ] =
56
- run ( [ ] , [ app: :ex_doc , docs: [ ] ] )
55
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: deps , source_beam: _ ] } ] =
56
+ run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" , docs: [ ] ] )
57
57
assert List . keyfind ( deps , Application . app_dir ( :earmark ) , 0 ) ==
58
58
{ Application . app_dir ( :earmark ) , "https://hexdocs.pm/earmark/#{ Application . spec ( :earmark , :vsn ) } /" }
59
59
end
60
60
61
61
test "allows custom dependency paths" do
62
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: deps , source_beam: _ ] } ] =
63
- run ( [ ] , [ app: :ex_doc , docs: [ deps: [ earmark: "foo" ] ] ] )
62
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: deps , source_beam: _ ] } ] =
63
+ run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" , docs: [ deps: [ earmark: "foo" ] ] ] )
64
64
assert List . keyfind ( deps , Application . app_dir ( :earmark ) , 0 ) ==
65
65
{ Application . app_dir ( :earmark ) , "foo" }
66
66
end
67
67
68
68
test "accepts lazy docs" do
69
- assert [ { "ex_doc" , "dev" , [ formatter: "html" , deps: _ , source_beam: _ , main: "another" ] } ] =
70
- run ( [ ] , [ app: :ex_doc , docs: fn -> [ main: "another" ] end ] )
69
+ assert [ { "ex_doc" , "1.2.3- dev" , [ formatter: "html" , deps: _ , source_beam: _ , main: "another" ] } ] =
70
+ run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" , docs: fn -> [ main: "another" ] end ] )
71
71
end
72
72
73
73
test "accepts options from root" do
@@ -85,18 +85,24 @@ defmodule Mix.Tasks.DocsTest do
85
85
version: "1.2.3-dev" ,
86
86
] )
87
87
88
- assert [ { "ex_doc" , "dev" , _ } ] = run ( [ ] , [ app: :ex_doc ] )
88
+ assert [ { "ex_doc" , "1.2.3- dev" , _ } ] = run ( [ ] , [ app: :ex_doc , version: "1.2.3-dev" ] )
89
89
end
90
90
91
91
test "supports umbrella project" do
92
92
Mix.Project . in_project ( :umbrella , "test/fixtures/umbrella" , fn _mod ->
93
- assert [ { "umbrella" , "dev" , [ formatter: "html" , deps: deps , source_beam: _ ] } ] =
94
- run ( [ ] , [ app: :umbrella , apps_path: "apps/" ] )
93
+ assert [ { "umbrella" , "1.2.3- dev" , [ formatter: "html" , deps: deps , source_beam: _ ] } ] =
94
+ run ( [ ] , [ app: :umbrella , apps_path: "apps/" , version: "1.2.3-dev" ] )
95
95
96
96
assert List . keyfind ( deps , Application . app_dir ( :foo ) , 0 ) ==
97
97
{ Application . app_dir ( :foo ) , "https://hexdocs.pm/foo/0.1.0/" }
98
98
assert List . keyfind ( deps , Application . app_dir ( :bar ) , 0 ) ==
99
99
{ Application . app_dir ( :bar ) , "https://hexdocs.pm/bar/0.1.0/" }
100
100
end )
101
101
end
102
+
103
+ test "raise when version is not provided" do
104
+ assert_raise ArgumentError , ~r/ :version key is required in config, got: / , fn ->
105
+ run ( [ ] , [ app: :ex_doc ] )
106
+ end
107
+ end
102
108
end
0 commit comments