From 3ad06a59473b4fd9aeb61b3b0d37cb22f45b7675 Mon Sep 17 00:00:00 2001 From: woylie <13847569+woylie@users.noreply.github.com> Date: Wed, 26 Aug 2026 08:03:00 +0200 Subject: [PATCH] fix: sort __MODULE__ first among aliases --- lib/recode/task/alias_order.ex | 2 +- test/recode/task/alias_order_test.exs | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/recode/task/alias_order.ex b/lib/recode/task/alias_order.ex index f9be2418..06a6f7f6 100644 --- a/lib/recode/task/alias_order.ex +++ b/lib/recode/task/alias_order.ex @@ -214,7 +214,7 @@ defmodule Recode.Task.AliasOrder do defp lower_than?([value1 | _], [value2 | _]), do: lower_than?(value1, value2) defp lower_than?(value1, value2) when is_atom(value1) and is_atom(value2) do - String.upcase(to_string(value1)) < String.upcase(to_string(value2)) + String.downcase(to_string(value1)) < String.downcase(to_string(value2)) end defp sort_multi({:alias, meta1, [{{:., meta2, [aliases, opts]}, meta3, multi}]}) do diff --git a/test/recode/task/alias_order_test.exs b/test/recode/task/alias_order_test.exs index 1844159c..680c3548 100644 --- a/test/recode/task/alias_order_test.exs +++ b/test/recode/task/alias_order_test.exs @@ -67,16 +67,20 @@ defmodule Recode.Task.AliasOrderTest do code = """ defmodule MyModule do alias Beta - alias __MODULE__ + alias __MODULE__.Zulu alias Alpha + alias __MODULE__.Alpha + alias __MODULE__ end """ expected = """ defmodule MyModule do + alias __MODULE__ + alias __MODULE__.Alpha + alias __MODULE__.Zulu alias Alpha alias Beta - alias __MODULE__ end """ @@ -96,9 +100,9 @@ defmodule Recode.Task.AliasOrderTest do expected = """ defmodule MyModule do + alias __MODULE__, as: Charlie alias Alpha, as: Gamma alias Beta, as: Delta - alias __MODULE__, as: Charlie end """ @@ -355,9 +359,9 @@ defmodule Recode.Task.AliasOrderTest do test "reports an issue for unsorted aliases in multi with and without __MODULE__" do """ defmodule MyModule do + alias __MODULE__.{UserSocket, Endpoint} alias Alpha.Bravo alias Alpha.Bravo.{Charlie, Delta} - alias __MODULE__.{UserSocket, Endpoint} end """ |> run_task(AliasOrder, autocorrect: false)