diff --git a/test/aprsme_web/gettext_test.exs b/test/aprsme_web/gettext_test.exs new file mode 100644 index 0000000..5c16ddb --- /dev/null +++ b/test/aprsme_web/gettext_test.exs @@ -0,0 +1,33 @@ +defmodule AprsmeWeb.GettextTest do + use ExUnit.Case, async: false + + alias AprsmeWeb.Gettext + + setup do + original = Elixir.Gettext.get_locale(Gettext) + on_exit(fn -> Elixir.Gettext.put_locale(Gettext, original) end) + :ok + end + + describe "supported_locales/0" do + test "returns the declared list" do + assert Gettext.supported_locales() == ~w(en es de fr) + end + end + + describe "put_locale/1" do + test "sets the process-wide Gettext locale for supported values" do + Gettext.put_locale("es") + assert Elixir.Gettext.get_locale(Gettext) == "es" + + Gettext.put_locale("fr") + assert Elixir.Gettext.get_locale(Gettext) == "fr" + end + + test "raises FunctionClauseError for unsupported locales" do + assert_raise FunctionClauseError, fn -> + Gettext.put_locale("zz") + end + end + end +end