Skip to content

Formatter inserts double space into Enum.join/2 #74

@kkalb

Description

@kkalb

This is the original code that was showing the error

<div>
  <.svelte
    class={
      [
        "border-base-300 h-full max-w-full rounded-md border p-1",
        dyn_apply("focus-within:border-neutral", @editable)
      ]
      |> Enum.join(" ")
    }
    name="Markdown"
    socket={@socket}
    props={
      %{
        id: "some_id"
      }
    }
  >
  </.svelte>
</div>

but you can minimize the reproducable code to

Before formatting

<.div class={Enum.join([], " ")}></.div>

After formatting

<.div class={Enum.join([], "  ")}></.div>

In short, this is what is caused by this issue

- Enum.join(" ")
+ Enum.join("  ")

See test output

Running ExUnit with seed: 262753, max_cases: 44

.........

  1) test double space inserted by formatter into Enum.join/3 (TailwindFormatterTest)
     test/tailwind_formatter_test.exs:564
     Assertion with == failed
     code:  assert first_pass == expected
     left:  "<.div class={Enum.join([], \"  \")}></.div>\n"
     right: "<.div class={Enum.join([], \" \")}></.div>\n"
     stacktrace:
       test/tailwind_formatter_test.exs:9: TailwindFormatterTest.assert_formatter_output/3
       test/tailwind_formatter_test.exs:573: (test)

..........................
Finished in 0.1 seconds (0.00s async, 0.1s sync)
36 tests, 1 failure

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions