49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"bufio"
|
||
|
"os"
|
||
|
"regexp"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
type regexpTest struct {
|
||
|
input string
|
||
|
re *regexp.Regexp
|
||
|
}
|
||
|
|
||
|
func Test_Regexp(t *testing.T) {
|
||
|
inputs := map[string]regexpTest{
|
||
|
"join": {"[19:22:13] [Server thread/INFO]: notch joined the game", joinedRegexp},
|
||
|
"leave": {"[19:16:13] [Server thread/INFO]: notch left the game", leftRegexp},
|
||
|
"message": {"[19:37:13] [Server thread/INFO]: <notch> hello", messageRegexp},
|
||
|
"spigotMessage": {"[23:32:42] [Async Chat Thread - #2/INFO]: <ccatss> zzz", messageRegexp},
|
||
|
"rcon": {"[16:46:42] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575", rconRegexp},
|
||
|
}
|
||
|
|
||
|
for key, re := range inputs {
|
||
|
if !re.re.MatchString(re.input) {
|
||
|
t.Fatal("Regexp for", key, "did not match")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Test_EndCharacters(t *testing.T) {
|
||
|
f, err := os.Open("latest.log")
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("Log file not found")
|
||
|
}
|
||
|
|
||
|
defer f.Close()
|
||
|
|
||
|
scanner := bufio.NewScanner(f)
|
||
|
|
||
|
if !scanner.Scan() {
|
||
|
t.Fatal("Log empty")
|
||
|
}
|
||
|
|
||
|
t.Log(scanner.Text())
|
||
|
t.Log(scanner.Bytes())
|
||
|
}
|