2020-12-26 10:21:26 -08:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestGetConsoleTitle(t *testing.T) {
|
|
|
|
cases := []struct {
|
|
|
|
Style ConsoleTitleStyle
|
|
|
|
Cwd string
|
|
|
|
PathSeperator string
|
|
|
|
ShellName string
|
|
|
|
Expected string
|
|
|
|
}{
|
|
|
|
{Style: FolderName, Cwd: "/usr/home", PathSeperator: "/", ShellName: "default", Expected: "\x1b]0;home\a"},
|
|
|
|
{Style: FullPath, Cwd: "/usr/home/jan", PathSeperator: "/", ShellName: "default", Expected: "\x1b]0;/usr/home/jan\a"},
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, tc := range cases {
|
|
|
|
settings := &Settings{
|
|
|
|
ConsoleTitleStyle: tc.Style,
|
|
|
|
}
|
|
|
|
env := new(MockedEnvironment)
|
|
|
|
env.On("getcwd", nil).Return(tc.Cwd)
|
|
|
|
env.On("homeDir", nil).Return("/usr/home")
|
|
|
|
env.On("getPathSeperator", nil).Return(tc.PathSeperator)
|
2020-12-26 10:51:21 -08:00
|
|
|
formats := &ansiFormats{}
|
|
|
|
formats.init(tc.ShellName)
|
2020-12-26 10:21:26 -08:00
|
|
|
ct := &consoleTitle{
|
|
|
|
env: env,
|
|
|
|
settings: settings,
|
2020-12-26 10:51:21 -08:00
|
|
|
formats: formats,
|
2020-12-26 10:21:26 -08:00
|
|
|
}
|
|
|
|
got := ct.getConsoleTitle()
|
|
|
|
assert.Equal(t, tc.Expected, got)
|
|
|
|
}
|
|
|
|
}
|