87 lines
2.2 KiB
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()
|
|
}
|
|
}
|
|
}
|