 
   describe "runtime_info" do
     test "shows vm information" do
-      assert "\n## System and architecture" <> _ =
-             capture_io(fn -> runtime_info() end)
+      assert "\n## System and architecture" <> _ = capture_io(fn -> runtime_info() end)
     end
   end
 
   describe "h" do
     test "shows help" do
-      assert "* IEx.Helpers\n\nWelcome to Interactive Elixir" <> _
-             = capture_iex("h()")
+      assert "* IEx.Helpers\n\nWelcome to Interactive Elixir" <> _ = capture_iex("h()")
     end
 
     test "prints module documentation" do
       assert "* IEx.Helpers\n\nWelcome to Interactive Elixir" <> _ =
-             capture_io(fn -> h IEx.Helpers end)
-
-      assert capture_io(fn -> h :whatever end) ==
-             "Could not load module :whatever, got: nofile\n"
-
-      assert capture_io(fn -> h :lists end) ==
-             ":lists is an Erlang module and, as such, it does not have Elixir-style docs\n"
+               capture_io(fn -> h(IEx.Helpers) end)
+
+      assert capture_io(fn -> h(:whatever) end) ==
+               "Could not load module :whatever, got: nofile\n"
+
+      assert capture_io(fn -> h(:lists) end) ==
+               ":lists is an Erlang module and, as such, it does not have Elixir-style docs\n"
     end
 
     test "prints function documentation" do
       pwd_h = "* def pwd()\n\nPrints the current working directory.\n\n"
-      c_h   = "* def c(files, path \\\\ :in_memory)\n\nCompiles the given files."
-      eq_h  = "* def ==(left, right)\n\nReturns `true` if the two items are equal.\n\n"
-
-      assert capture_io(fn -> h IEx.Helpers.pwd/0 end) =~ pwd_h
-      assert capture_io(fn -> h IEx.Helpers.c/2 end) =~ c_h
-      assert capture_io(fn -> h ==/2 end) =~ eq_h
-
-      assert capture_io(fn -> h IEx.Helpers.c/1 end) =~ c_h
-      assert capture_io(fn -> h pwd end) =~ pwd_h
+      c_h = "* def c(files, path \\\\ :in_memory)\n\nCompiles the given files."
+      eq_h = "* def ==(left, right)\n\nReturns `true` if the two items are equal.\n\n"
+
+      assert capture_io(fn -> h(IEx.Helpers.pwd() / 0) end) =~ pwd_h
+      assert capture_io(fn -> h(IEx.Helpers.c() / 2) end) =~ c_h
+      assert capture_io(fn -> h(== / 2) end) =~ eq_h
+
+      assert capture_io(fn -> h(IEx.Helpers.c() / 1) end) =~ c_h
+      assert capture_io(fn -> h(pwd) end) =~ pwd_h
     end
 
     test "prints __info__ documentation" do
-      h_output_module = capture_io(fn -> h Module.__info__ end)
-      assert capture_io(fn -> h Module.UnlikelyTo.Exist.__info__ end) == h_output_module
-      assert capture_io(fn -> h Module.UnlikelyTo.Exist.__info__/1 end) == h_output_module
-      assert capture_io(fn -> h __info__ end) == "No documentation for Kernel.__info__ was found\n"
+      h_output_module = capture_io(fn -> h(Module.__info__()) end)
+      assert capture_io(fn -> h(Module.UnlikelyTo.Exist.__info__()) end) == h_output_module
+      assert capture_io(fn -> h(Module.UnlikelyTo.Exist.__info__() / 1) end) == h_output_module
+
+      assert capture_io(fn -> h(__info__) end) ==
+               "No documentation for Kernel.__info__ was found\n"
     end
 
     test "considers underscored functions without docs by default" do


  describe "whereami" do
    test "is disabled by default" do
      assert capture_iex("whereami()") =~
             "Pry session is not currently enabled"
    end

    test "shows current location for custom envs" do


      files = ["my_behaviour.ex", "impl.ex"]

      with_file(files, [behaviour, impl], fn ->
        assert c(files, ".") |> Enum.sort() == [Impl, MyBehaviour]

        assert capture_io(fn -> h(Impl.first() / 1) end) ==
                 "* @callback first(integer()) :: integer()\n\nDocs for MyBehaviour.first\n"

        assert capture_io(fn -> h(Impl.second() / 1) end) ==
                 "* def second(int)\n\nDocs for Impl.second/1\n"

        assert capture_io(fn -> h(Impl.second() / 2) end) ==
                 "* def second(int1, int2)\n\nDocs for Impl.second/2\n"

        assert capture_io(fn -> h(Impl.first()) end) ==
                 "* @callback first(integer()) :: integer()\n\nDocs for MyBehaviour.first\n"

        assert capture_io(fn -> h(Impl.second()) end) ==
                 "* def second(int)\n\nDocs for Impl.second/1\n* def second(int1, int2)\n\nDocs for Impl.second/2\n"

        assert capture_io(fn -> h(MyBehaviour.first()) end) == """
               No documentation for function MyBehaviour.first was found, but there is a callback with the same name.
               You can view callback documentations with the b/1 helper.\n
               """

        assert capture_io(fn -> h(MyBehaviour.second() / 2) end) == """
               No documentation for function MyBehaviour.second/2 was found, but there is a callback with the same name.
               You can view callback documentations with the b/1 helper.\n
               """

        assert capture_io(fn -> h(MyBehaviour.second() / 3) end) ==
                 "No documentation for MyBehaviour.second/3 was found\n"
      end)
    after
      cleanup_modules([Impl, MyBehaviour])
    end
