Files
gokeystat/main_test.go

87 lines
2.2 KiB
Go

// main_test.go
package main
import (
"reflect"
"testing"
)
func TestGetKeymapFromOutput(t *testing.T) {
var buf []byte
var keymap map[uint8]string
const test1 = "keycode 19 = 0 parenright 0 parenright\n" +
"keycode 20 = minus underscore minus underscore\n" +
"keycode 21 = equal plus equal plus"
result1 := map[uint8]string{19: "0", 20: "minus", 21: "equal"}
const test2 = "keycode 119 = Delete NoSymbol Delete\n" +
"keycode 120 =\n" +
"keycode 121 = XF86AudioMute NoSymbol XF86AudioMute"
result2 := map[uint8]string{119: "Delete", 121: "XF86AudioMute"}
// Test1. Simple
buf = []byte(test1)
keymap = GetKeymapFromOutput(buf)
if !reflect.DeepEqual(keymap, result1) {
t.Fail()
}
// Test2. With empty keys
buf = []byte(test2)
keymap = GetKeymapFromOutput(buf)
if !reflect.DeepEqual(keymap, result2) {
t.Fail()
}
}
func TestGetKeyNumsFromOutput(t *testing.T) {
var buf []byte
var keyNums []uint8
const test1 = "key press 36\nkey release 41\nkey press 41"
var result1 = []uint8{36, 41}
const test2 = ""
var result2 = []uint8{}
// Test1. Simple
buf = []byte(test1)
keyNums = GetKeyNumsFromOutput(buf)
if !reflect.DeepEqual(keyNums, result1) {
t.Fail()
}
// Test2. Clear
buf = []byte(test2)
keyNums = GetKeyNumsFromOutput(buf)
if !reflect.DeepEqual(keyNums, result2) {
t.Fail()
}
}
func TestGetFileType(t *testing.T) {
tests := map[string]string{
"": "",
"out.csv": "csv",
"out.jsl": "jsl",
"out.json": "json",
"//sfd.dsf//.f./out.out.csv": "csv",
"..\\data.all.jsl.gz": "jsl.gz",
"../full.csv/first.data.json": "json",
"//sfd.dsf//.f./WhiteBear.csv.Gz": "csv.gz",
"out.JsL": "jsl",
"////////": "",
"\\\\\\": "",
"file1.Json.gz": "json.gz",
"out.csv.json.jsl": "jsl",
"out.jsl.json.csv": "csv",
}
for test, res := range tests {
if GetFileType(test) != res {
t.Log("On test ", test, " result is ", GetFileType(test), " but right is ", res, "")
t.Fail()
}
}
}