Open emaiax opened 2 years ago
Elixir 1.14.0 Erlang/OTP 24
The sigil seems to not be working with ExUnit's assert macro when used as an argument to a function.
ExUnit
assert
defmodule ShorterMapsTest do use ExUnit.Case import ShorterMaps test "broken" do input = %{"name" => "myname", "age" => 123} assert %{"input" => ^input} = ~m{input} assert %{"input" => input} == ~m{input} assert is_input?(input) assert is_input?(~m{input}) end defp is_input?(~m{input}), do: true defp is_input?(_input), do: false end
It gives the following error:
== Compilation error in file test/myapp/shorter_maps_test.exs == ** (ArgumentError) interpolation is not supported with the ~m sigil (shorter_maps 2.2.5) expanding macro: ShorterMaps.sigil_m/2 test/myapp/shorter_maps_test.exs:13: ShorterMapsTest."test broken"/1 (elixir 1.14.0) expanding macro: Kernel.if/2 test/myapp/shorter_maps_test.exs:13: ShorterMapsTest."test broken"/1 (ex_unit 1.14.0) expanding macro: ExUnit.Assertions.assert/1 test/myapp/shorter_maps_test.exs:13: ShorterMapsTest."test broken"/1
Line 13 is exactly assert is_input?(~m{input}).
assert is_input?(~m{input})
This was working fine until Elixir 1.13.x, and now it's broken. I'm not sure where to start digging. :/
Perhaps it has some relation with #11
Sorry to have missed when this arrived - this problem seems super annoying - I'll take a look and see what I can find.
Elixir 1.14.0 Erlang/OTP 24
The sigil seems to not be working with
ExUnit
'sassert
macro when used as an argument to a function.To reproduce:
It gives the following error:
Line 13 is exactly
assert is_input?(~m{input})
.This was working fine until Elixir 1.13.x, and now it's broken. I'm not sure where to start digging. :/