test: cover AprsmeWeb.Gettext helpers
- supported_locales/0 returns the declared ~w(en es de fr) list. - put_locale/1 sets the Gettext process locale for each supported value and raises FunctionClauseError for unsupported input. 3 tests, async:false because they mutate process-wide Gettext state.
This commit is contained in:
parent
2b43e5b2a8
commit
20d463794b
1 changed files with 33 additions and 0 deletions
33
test/aprsme_web/gettext_test.exs
Normal file
33
test/aprsme_web/gettext_test.exs
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Reference in a new issue