diff --git a/lib/elixir/test/elixir/calendar/duration_test.exs b/lib/elixir/test/elixir/calendar/duration_test.exs index e66cf001739..faa4671426d 100644 --- a/lib/elixir/test/elixir/calendar/duration_test.exs +++ b/lib/elixir/test/elixir/calendar/duration_test.exs @@ -432,4 +432,8 @@ defmodule DurationTest do ) == "1year-2month-3day-4h-5min-6s" end + + test "inspect/1" do + assert inspect(%Duration{hour: 5, minute: 3}) == "%Duration{hour: 5, minute: 3}" + end end diff --git a/lib/elixir/test/elixir/json_test.exs b/lib/elixir/test/elixir/json_test.exs index 2a0a8c61d6f..79bff828702 100644 --- a/lib/elixir/test/elixir/json_test.exs +++ b/lib/elixir/test/elixir/json_test.exs @@ -67,6 +67,7 @@ defmodule JSONTest do end test "atoms" do + assert protocol_encode(:another) == "\"another\"" assert protocol_encode([nil, false, true, :another]) == "[null,false,true,\"another\"]" end diff --git a/lib/elixir/test/elixir/stream_test.exs b/lib/elixir/test/elixir/stream_test.exs index 47de51beb2a..47c0b771d92 100644 --- a/lib/elixir/test/elixir/stream_test.exs +++ b/lib/elixir/test/elixir/stream_test.exs @@ -1464,6 +1464,10 @@ defmodule StreamTest do assert Enum.zip(list, list) == Enum.zip(stream, stream) end + test "inspect/1" do + "#Stream<[enum: 1..10, funs: " <> _ = Stream.map(1..10, & &1) |> inspect() + end + defp lazy?(stream) do match?(%Stream{}, stream) or is_function(stream, 2) end diff --git a/lib/elixir/test/elixir/version_test.exs b/lib/elixir/test/elixir/version_test.exs index 5f3fc5d2435..208f625f226 100644 --- a/lib/elixir/test/elixir/version_test.exs +++ b/lib/elixir/test/elixir/version_test.exs @@ -118,6 +118,14 @@ defmodule VersionTest do assert %Version{major: 1, minor: 0, patch: 0} |> Version.to_string() == "1.0.0" end + test "to_string/1 via protocol" do + assert Version.parse!("1.0.0") |> to_string() == "1.0.0" + end + + test "inspect/1" do + assert Version.parse!("1.0.0") |> inspect() == "%Version{major: 1, minor: 0, patch: 0}" + end + test "match?/2 with invalid versions" do assert_raise Version.InvalidVersionError, fn -> Version.match?("foo", "2.3.0") @@ -317,22 +325,24 @@ defmodule VersionTest do assert Version.match?("0.7.0", req) end - test "compile_requirement/1" do - {:ok, req} = Version.parse_requirement("1.2.3") - assert req == Version.compile_requirement(req) - end + describe "requirement" do + test "compile_requirement/1" do + {:ok, req} = Version.parse_requirement("1.2.3") + assert req == Version.compile_requirement(req) - test "compile requirement" do - {:ok, req} = Version.parse_requirement("1.2.3") - req = Version.compile_requirement(req) + assert Version.match?("1.2.3", req) + refute Version.match?("1.2.4", req) - assert Version.match?("1.2.3", req) - refute Version.match?("1.2.4", req) + assert Version.parse_requirement("1 . 2 . 3") == :error + assert Version.parse_requirement("== >= 1.2.3") == :error + assert Version.parse_requirement("1.2.3 and or 4.5.6") == :error + assert Version.parse_requirement(">= 1") == :error + assert Version.parse_requirement("1.2.3 >=") == :error + end - assert Version.parse_requirement("1 . 2 . 3") == :error - assert Version.parse_requirement("== >= 1.2.3") == :error - assert Version.parse_requirement("1.2.3 and or 4.5.6") == :error - assert Version.parse_requirement(">= 1") == :error - assert Version.parse_requirement("1.2.3 >=") == :error + test "inspect/1" do + assert Version.parse_requirement!("1.0.0") |> inspect() == + "Version.parse_requirement!(\"1.0.0\")" + end end end diff --git a/lib/iex/test/iex/info_test.exs b/lib/iex/test/iex/info_test.exs index 6df6dd804f7..b018ac178f8 100644 --- a/lib/iex/test/iex/info_test.exs +++ b/lib/iex/test/iex/info_test.exs @@ -247,6 +247,12 @@ defmodule IEx.InfoTest do assert get_key(info, "Reference modules") == "Range" end + test "maps" do + info = Info.info(%{foo: "bar"}) + assert get_key(info, "Data type") == "Map" + assert get_key(info, "Reference modules") == "Map" + end + test "structs" do info = Info.info(%Foo{}) assert get_key(info, "Data type") == "IEx.InfoTest.Foo"