mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-01-08 19:38:51 +01:00
59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
|
package packet
|
||
|
|
||
|
import "testing"
|
||
|
|
||
|
func TestShellVersions(t *testing.T) {
|
||
|
if !StateVersionsCompatible("bash v5.0.17", "bash v5.0.17") {
|
||
|
t.Errorf("versions should be compatible")
|
||
|
}
|
||
|
if !StateVersionsCompatible("bash v5.0.17", "bash v5.0.18") {
|
||
|
t.Errorf("versions should be compatible")
|
||
|
}
|
||
|
if !StateVersionsCompatible("bash v5.0.17", "bash v5.1.0") {
|
||
|
t.Errorf("versions should be compatible")
|
||
|
}
|
||
|
if StateVersionsCompatible("bash v5.0.17", "bash v6.0.0") {
|
||
|
t.Errorf("versions should not be compatible")
|
||
|
}
|
||
|
if StateVersionsCompatible("bash v5.0.17", "zsh v5.0.17") {
|
||
|
t.Errorf("versions should not be compatible")
|
||
|
}
|
||
|
|
||
|
shell, version, err := ParseShellStateVersion("bash v5.0.17")
|
||
|
if err != nil {
|
||
|
t.Errorf("version should be valid, got error %v", err)
|
||
|
}
|
||
|
if shell != ShellType_bash {
|
||
|
t.Errorf("shell should be bash")
|
||
|
}
|
||
|
if version != "v5.0.17" {
|
||
|
t.Errorf("version should be v5.0.17")
|
||
|
}
|
||
|
shell, version, err = ParseShellStateVersion("zsh v5.0.17")
|
||
|
if err != nil {
|
||
|
t.Errorf("version should be valid, got error %v", err)
|
||
|
}
|
||
|
if shell != ShellType_zsh {
|
||
|
t.Errorf("shell should be zsh")
|
||
|
}
|
||
|
if version != "v5.0.17" {
|
||
|
t.Errorf("version should be v5.0.17")
|
||
|
}
|
||
|
_, _, err = ParseShellStateVersion("fish v5.0.17")
|
||
|
if err == nil {
|
||
|
t.Errorf("version should be invalid")
|
||
|
}
|
||
|
_, _, err = ParseShellStateVersion("bash v5.0.17.1")
|
||
|
if err == nil {
|
||
|
t.Errorf("version should be invalid")
|
||
|
}
|
||
|
_, _, err = ParseShellStateVersion("bash")
|
||
|
if err == nil {
|
||
|
t.Errorf("version should be invalid")
|
||
|
}
|
||
|
_, _, err = ParseShellStateVersion("bash v5.0.17 extrastuff")
|
||
|
if err == nil {
|
||
|
t.Errorf("version should be invalid")
|
||
|
}
|
||
|
}
|