Files
tmux-themepack/test/basic_test.go

79 lines
2.5 KiB
Go

package test
import (
"testing"
"github.com/jimeh/go-tmux"
"github.com/stretchr/testify/assert"
)
func TestBasicTheme(t *testing.T) {
tmuxSetup()
defer tmuxTearDown()
theme := "../basic.tmuxtheme"
_, err := tm.Exec("source-file", theme)
assert.NoErrorf(t, err, `%s: Failed to load theme`, theme)
tmuxHasOptions(t, theme, tmux.GlobalWindow, tmux.Options{
"clock-mode-colour": "red",
"clock-mode-style": "24",
"mode-style": "bg=red",
"pane-active-border-style": "fg=green",
"pane-border-style": "default",
"window-status-activity-style": "fg=yellow,bg=black",
"window-status-current-format": " #I:#W#F ",
"window-status-current-style": "fg=black,bg=red",
"window-status-format": " #I:#W#F ",
"window-status-separator": "",
})
tmuxHasOptions(t, theme, tmux.GlobalSession, tmux.Options{
"display-panes-active-colour": "default",
"display-panes-colour": "default",
"message-command-style": "default",
"message-style": "default",
"status-interval": "1",
"status-justify": "centre",
"status-left": "#S #[fg=white]» #[fg=yellow]#I #[fg=cyan]#P",
"status-left-length": "40",
"status-left-style": "fg=green,bg=black",
"status-right": "#H #[fg=white]« #[fg=yellow]%H:%M:%S #[fg=green]%d-%b-%y",
"status-right-length": "40",
"status-right-style": "fg=cyan,bg=black",
"status-style": "fg=cyan,bg=black",
})
}
func TestBasicCustomizability(t *testing.T) {
name := "basic"
filename := "../" + name + ".tmuxtheme"
tmuxSetup()
out, err := tm.Exec("source-file", "tmux-custom-overrides.conf")
assert.NoErrorf(t, err, `%s: Failed to load overrides: %s`, name, out)
out, err = tm.Exec("source-file", filename)
assert.NoErrorf(t, err, `%s: Failed to load theme: %s`, name, out)
opts, err := tm.GetOptions(tmux.GlobalSession)
assert.NoError(t, err)
assert.Contains(t, opts["status-left"], "LLP:LLF:LLS")
assert.Contains(t, opts["status-left"], "LMP:LMF:LMS")
assert.Contains(t, opts["status-left"], "LRP:LRF:LRS")
assert.Contains(t, opts["status-right"], "RLP:RLF:RLS")
assert.Contains(t, opts["status-right"], "RMP:RMF:RMS")
assert.Contains(t, opts["status-right"], "RRP:RRF:RRS")
opts, err = tm.GetOptions(tmux.GlobalWindow)
assert.NoError(t, err)
assert.Contains(t, opts["window-status-current-format"],
"WSCP:WSCF:WSCS")
assert.Contains(t, opts["window-status-format"],
"WSP:WSF:WSS")
tmuxTearDown()
}