mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
120 lines
2.4 KiB
Go
120 lines
2.4 KiB
Go
package utils
|
|
|
|
import (
|
|
"os/exec"
|
|
"testing"
|
|
|
|
. "github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func Test_Init(t *testing.T) {
|
|
Init("cats")
|
|
Equal(t, OpenFileUtil, "cats")
|
|
}
|
|
|
|
func Test_CenterText(t *testing.T) {
|
|
Equal(t, "cat", CenterText("cat", -9))
|
|
Equal(t, "cat", CenterText("cat", 0))
|
|
Equal(t, " cat ", CenterText("cat", 9))
|
|
}
|
|
|
|
func Test_ExecuteCommand(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
cmd *exec.Cmd
|
|
expected string
|
|
}{
|
|
{
|
|
name: "with nil command",
|
|
cmd: nil,
|
|
expected: "",
|
|
},
|
|
{
|
|
name: "with defined command",
|
|
cmd: exec.Command("echo", "cats"),
|
|
expected: "cats\n",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
actual := ExecuteCommand(tt.cmd)
|
|
|
|
if tt.expected != actual {
|
|
t.Errorf("\nexpected: %s\n got: %s", tt.expected, actual)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func Test_FindMatch(t *testing.T) {
|
|
var result [][]string
|
|
|
|
expected := [][]string([][]string{[]string{"SSID: 7E5B5C", "7E5B5C"}})
|
|
result = FindMatch(`s*SSID: (.+)s*`, "SSID: 7E5B5C")
|
|
Equal(t, expected, result)
|
|
}
|
|
|
|
func Test_ExcludeWhenTrue(t *testing.T) {
|
|
Equal(t, true, Exclude([]string{"cat", "dog", "rat"}, "bat"))
|
|
Equal(t, false, Exclude([]string{"cat", "dog", "rat"}, "dog"))
|
|
}
|
|
|
|
func Test_NameFromEmail(t *testing.T) {
|
|
Equal(t, "", NameFromEmail(""))
|
|
Equal(t, "Chris Cummer", NameFromEmail("chris.cummer@me.com"))
|
|
}
|
|
|
|
func Test_NamesFromEmails(t *testing.T) {
|
|
var result []string
|
|
|
|
result = NamesFromEmails([]string{})
|
|
Equal(t, []string{}, result)
|
|
|
|
result = NamesFromEmails([]string{"chris.cummer@me.com", "chriscummer@me.com"})
|
|
Equal(t, []string{"Chris Cummer", "Chriscummer"}, result)
|
|
}
|
|
|
|
func Test_PadRow(t *testing.T) {
|
|
Equal(t, "", PadRow(0, 0))
|
|
Equal(t, "", PadRow(5, 2))
|
|
Equal(t, " ", PadRow(1, 2))
|
|
}
|
|
|
|
func Test_MapToStrs(t *testing.T) {
|
|
expected := map[string]string{
|
|
"a": "a",
|
|
"b": "b",
|
|
"c": "c",
|
|
}
|
|
|
|
source := make(map[string]interface{})
|
|
for _, val := range expected {
|
|
source[val] = val
|
|
}
|
|
|
|
Equal(t, expected, MapToStrs(source))
|
|
}
|
|
|
|
func Test_ToInts(t *testing.T) {
|
|
expected := []int{1, 2, 3}
|
|
|
|
source := make([]interface{}, len(expected))
|
|
for idx, val := range expected {
|
|
source[idx] = val
|
|
}
|
|
|
|
Equal(t, expected, ToInts(source))
|
|
}
|
|
|
|
func Test_ToStrs(t *testing.T) {
|
|
expected := []string{"cat", "dog", "rat"}
|
|
|
|
source := make([]interface{}, len(expected))
|
|
for idx, val := range expected {
|
|
source[idx] = val
|
|
}
|
|
|
|
Equal(t, expected, ToStrs(source))
|
|
}
|