Skip to content

Commit 55ead12

Browse files
author
José Valim
committed
Move record warning to warning test file
1 parent 95934e5 commit 55ead12

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

lib/elixir/test/elixir/kernel/warning_test.exs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1674,6 +1674,21 @@ defmodule Kernel.WarningTest do
16741674
assert message =~ "\"else\" shouldn't be used as the only clause in \"try\""
16751675
end
16761676

1677+
test "warns on bad record update input" do
1678+
assert capture_err(fn ->
1679+
defmodule Sample do
1680+
require Record
1681+
Record.defrecord(:user, __MODULE__, name: "john", age: 25)
1682+
1683+
def fun do
1684+
user(user(), _: :_, name: "meg")
1685+
end
1686+
end
1687+
end) =~ "updating a record with a default (:_) is equivalent to creating a new record"
1688+
after
1689+
purge([Sample])
1690+
end
1691+
16771692
defp purge(list) when is_list(list) do
16781693
Enum.each(list, &purge/1)
16791694
end

lib/elixir/test/elixir/record_test.exs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -129,19 +129,6 @@ defmodule RecordTest do
129129
refute match?(user(_: "other"), user())
130130
end
131131

132-
test "warns when updating a record with default value" do
133-
captured =
134-
capture_io(:stderr, fn ->
135-
expanded = Macro.expand(quote(do: user(user(), _: :_, name: "meg")), __ENV__)
136-
{record, _} = Code.eval_quoted(expanded)
137-
138-
assert user(record, :name) == "meg"
139-
assert user(record, :age) == :_
140-
end)
141-
142-
assert captured =~ "updating a record with a default"
143-
end
144-
145132
Record.defrecord(
146133
:defaults,
147134
struct: ~D[2016-01-01],

0 commit comments

Comments
 (0)