Skip to content

Commit 6bec83b

Browse files
committed
Include kind in undefined reference warning
1 parent 8e13a89 commit 6bec83b

File tree

3 files changed

+17
-14
lines changed

3 files changed

+17
-14
lines changed

lib/ex_doc/autolink.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ defmodule ExDoc.Autolink do
195195
%{original_text: original_text}
196196
) do
197197
message =
198-
"documentation references \"#{original_text}\" but it is " <>
198+
"documentation references #{kind} \"#{original_text}\" but it is " <>
199199
format_visibility(visibility, kind)
200200

201201
warn(message, {file, line}, id)

test/ex_doc/language/elixir_test.exs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -395,20 +395,23 @@ defmodule ExDoc.Language.ElixirTest do
395395
])
396396

397397
captured = warn("AutolinkTest.Foo.bar/1", file: "lib/foo.ex", line: 1, id: nil)
398-
assert captured =~ ~s[documentation references "AutolinkTest.Foo.bar/1" but it is hidden\n]
398+
399+
assert captured =~
400+
~s[documentation references function "AutolinkTest.Foo.bar/1" but it is hidden\n]
401+
399402
assert captured =~ ~r{lib/foo.ex:1\n$}
400403

401404
assert warn("t:AutolinkTest.Foo.bad/0", file: "lib/foo.ex", id: "AutolinkTest.Foo.foo/0") =~
402-
~s[documentation references "t:AutolinkTest.Foo.bad/0" but it is hidden or private]
405+
~s[documentation references type "t:AutolinkTest.Foo.bad/0" but it is hidden or private]
403406

404407
assert warn("t:Elixir.AutolinkTest.Foo.bad/0",
405408
file: "lib/foo.ex",
406409
id: "AutolinkTest.Foo.foo/0"
407410
) =~
408-
~s[documentation references "t:Elixir.AutolinkTest.Foo.bad/0" but it is hidden or private]
411+
~s[documentation references type "t:Elixir.AutolinkTest.Foo.bad/0" but it is hidden or private]
409412

410413
assert warn("t:AutolinkTest.Foo.bad/0", file: "lib/foo.ex", id: "AutolinkTest.Foo.foo/0") =~
411-
~s[documentation references "t:AutolinkTest.Foo.bad/0" but it is hidden or private]
414+
~s[documentation references type "t:AutolinkTest.Foo.bad/0" but it is hidden or private]
412415

413416
assert warn("Code.Typespec") =~
414417
~s[documentation references module "Code.Typespec" but it is hidden]
@@ -421,11 +424,11 @@ defmodule ExDoc.Language.ElixirTest do
421424

422425
assert warn(fn ->
423426
autolink_spec(quote(do: t() :: bad()))
424-
end) =~ ~s[documentation references "bad()"]
427+
end) =~ ~s[documentation references type "bad()"]
425428

426429
assert warn(fn ->
427430
autolink_spec(quote(do: t() :: String.bad()))
428-
end) =~ ~s[documentation references "String.bad()"]
431+
end) =~ ~s[documentation references type "String.bad()"]
429432

430433
assert warn(fn ->
431434
autolink_spec(
@@ -435,7 +438,7 @@ defmodule ExDoc.Language.ElixirTest do
435438
}
436439
end
437440
)
438-
end) =~ ~s[documentation references "String.bad()"]
441+
end) =~ ~s[documentation references type "String.bad()"]
439442

440443
assert warn(~m"[Foo](Foo Bar.md)", extras: []) =~
441444
~s[documentation references file "Foo Bar.md" but it does not exist]
@@ -466,7 +469,7 @@ defmodule ExDoc.Language.ElixirTest do
466469
assert_unchanged(~m"`mix foo`")
467470

468471
assert warn(~m"[bad](`String.upcase/9`)", extras: []) =~
469-
~s[documentation references "String.upcase/9" but it is undefined or private]
472+
~s[documentation references function "String.upcase/9" but it is undefined or private]
470473

471474
assert_unchanged(~m"`Unknown`")
472475

test/ex_doc/language/erlang_test.exs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,25 +134,25 @@ defmodule ExDoc.Language.ErlangTest do
134134
test "bad local function", c do
135135
assert ExUnit.CaptureIO.capture_io(:stderr, fn ->
136136
assert autolink_doc("{@link bad/0}", c) == ~s|<code>bad/0</code>|
137-
end) =~ ~s|references "bad/0" but it is undefined or private|
137+
end) =~ ~s|references function "bad/0" but it is undefined or private|
138138
end
139139

140140
test "bad remote function", c do
141141
assert ExUnit.CaptureIO.capture_io(:stderr, fn ->
142142
assert autolink_doc("{@link bad:bad/0}", c) == ~s|<code>bad:bad/0</code>|
143-
end) =~ ~s|references "bad:bad/0" but it is undefined or private|
143+
end) =~ ~s|references function "bad:bad/0" but it is undefined or private|
144144
end
145145

146146
test "bad local type", c do
147147
assert ExUnit.CaptureIO.capture_io(:stderr, fn ->
148148
assert autolink_doc("{@link bad()}", c) == ~s|<code>bad()</code>|
149-
end) =~ ~s|references "bad()" but it is undefined or private|
149+
end) =~ ~s|references type "bad()" but it is undefined or private|
150150
end
151151

152152
test "bad remote type", c do
153153
assert ExUnit.CaptureIO.capture_io(:stderr, fn ->
154154
assert autolink_doc("{@link bad:bad()}", c) == ~s|<code>bad:bad()</code>|
155-
end) =~ ~s|references "bad:bad()" but it is undefined or private|
155+
end) =~ ~s|references type "bad:bad()" but it is undefined or private|
156156
end
157157

158158
test "application", c do
@@ -282,7 +282,7 @@ defmodule ExDoc.Language.ErlangTest do
282282
assert ExUnit.CaptureIO.capture_io(:stderr, fn ->
283283
assert autolink_spec(~S"-spec foo() -> bad:bad(atom()).", c) ==
284284
~s|foo() -> bad:bad(atom()).|
285-
end) =~ ~r{references "bad:bad/1" but it is undefined or private}
285+
end) =~ ~r{references type "bad:bad/1" but it is undefined or private}
286286
end
287287
end
288288

0 commit comments

Comments
 (0)