Skip to content

Commit

Permalink
Add test reproducing #646
Browse files Browse the repository at this point in the history
  • Loading branch information
René Föhring committed Mar 30, 2019
1 parent 024ffff commit dd0d568
Show file tree
Hide file tree
Showing 4 changed files with 152 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/credo/code/charlists_test.exs
Expand Up @@ -32,4 +32,42 @@ defmodule Credo.Code.CharlistsTest do

assert expected == source |> Charlists.replace_with_spaces()
end

test "it should not modify commented out code" do
source = """
defmodule Foo do
defmodule Bar do
# @doc \"\"\"
# Reassign a student to a discussion group.
# This will un-assign student from the current discussion group
# \"\"\"
# def assign_group(leader = %User{}, student = %User{}) do
# cond do
# leader.role == :student ->
# {:error, :invalid}
#
# student.role != :student ->
# {:error, :invalid}
#
# true ->
# Repo.transaction(fn ->
# {:ok, _} = unassign_group(student)
#
# %Group{}
# |> Group.changeset(%{})
# |> put_assoc(:leader, leader)
# |> put_assoc(:student, student)
# |> Repo.insert!()
# end)
# end
# end
def baz, do: 123
end
end
"""

expected = source

assert expected == source |> Charlists.replace_with_spaces(".")
end
end
38 changes: 38 additions & 0 deletions test/credo/code/heredocs_test.exs
Expand Up @@ -114,4 +114,42 @@ defmodule Credo.Code.HeredocsTest do
result = source |> Heredocs.replace_with_spaces(".")
assert expected == result
end

test "it should not modify commented out code" do
source = """
defmodule Foo do
defmodule Bar do
# @doc \"\"\"
# Reassign a student to a discussion group.
# This will un-assign student from the current discussion group
# \"\"\"
# def assign_group(leader = %User{}, student = %User{}) do
# cond do
# leader.role == :student ->
# {:error, :invalid}
#
# student.role != :student ->
# {:error, :invalid}
#
# true ->
# Repo.transaction(fn ->
# {:ok, _} = unassign_group(student)
#
# %Group{}
# |> Group.changeset(%{})
# |> put_assoc(:leader, leader)
# |> put_assoc(:student, student)
# |> Repo.insert!()
# end)
# end
# end
def baz, do: 123
end
end
"""

expected = source

assert expected == source |> Heredocs.replace_with_spaces(".")
end
end
38 changes: 38 additions & 0 deletions test/credo/code/sigils_test.exs
Expand Up @@ -176,4 +176,42 @@ defmodule Credo.Code.SigilsTest do

assert expected == Sigils.replace_with_spaces(source, "")
end

test "it should not modify commented out code" do
source = """
defmodule Foo do
defmodule Bar do
# @doc \"\"\"
# Reassign a student to a discussion group.
# This will un-assign student from the current discussion group
# \"\"\"
# def assign_group(leader = %User{}, student = %User{}) do
# cond do
# leader.role == :student ->
# {:error, :invalid}
#
# student.role != :student ->
# {:error, :invalid}
#
# true ->
# Repo.transaction(fn ->
# {:ok, _} = unassign_group(student)
#
# %Group{}
# |> Group.changeset(%{})
# |> put_assoc(:leader, leader)
# |> put_assoc(:student, student)
# |> Repo.insert!()
# end)
# end
# end
def baz, do: 123
end
end
"""

expected = source

assert expected == Sigils.replace_with_spaces(source, "")
end
end
38 changes: 38 additions & 0 deletions test/credo/code/strings_test.exs
Expand Up @@ -124,4 +124,42 @@ defmodule Credo.Code.StringsTest do
result = source |> Strings.replace_with_spaces(".")
assert expected == result
end

test "it should not modify commented out code" do
source = """
defmodule Foo do
defmodule Bar do
# @doc \"\"\"
# Reassign a student to a discussion group.
# This will un-assign student from the current discussion group
# \"\"\"
# def assign_group(leader = %User{}, student = %User{}) do
# cond do
# leader.role == :student ->
# {:error, :invalid}
#
# student.role != :student ->
# {:error, :invalid}
#
# true ->
# Repo.transaction(fn ->
# {:ok, _} = unassign_group(student)
#
# %Group{}
# |> Group.changeset(%{})
# |> put_assoc(:leader, leader)
# |> put_assoc(:student, student)
# |> Repo.insert!()
# end)
# end
# end
def baz, do: 123
end
end
"""

expected = source

assert expected == source |> Strings.replace_with_spaces(".")
end
end

0 comments on commit dd0d568

Please sign in to comment.