defmodule GitGud.Themes.EditorTest do
use ExUnit.Case, async: true
alias GitGud.Themes.Editor
test "default theme is in the curated list" do
assert Editor.default() in Editor.ids()
end
test "resolve falls back when nil / unknown" do
assert Editor.resolve(nil) == Editor.default()
assert Editor.resolve("a-theme-we-never-shipped") == Editor.default()
end
test "resolve returns valid ids unchanged" do
for {_, id} <- Editor.options() do
assert Editor.resolve(id) == id
end
end
test "for_scope reads the user's editor_theme" do
assert Editor.for_scope(%{user: %{editor_theme: "dracula"}}) == "dracula"
assert Editor.for_scope(%{user: %{editor_theme: nil}}) == Editor.default()
assert Editor.for_scope(%{user: %{editor_theme: "nope"}}) == Editor.default()
assert Editor.for_scope(nil) == Editor.default()
assert Editor.for_scope(%{user: nil}) == Editor.default()
end
end
938 B · text
5af55d9