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