split v01 into its own pkg

master
bel 2023-03-26 08:37:13 -06:00
parent 9902684990
commit 0311fc56a3
6 changed files with 22 additions and 12 deletions

View File

@ -3,6 +3,7 @@ package parse
import (
"context"
"mayhem-party/src/device/input/button"
v01 "mayhem-party/src/device/input/parse/v01"
"mayhem-party/src/device/input/raw"
"os"
)
@ -19,7 +20,7 @@ type Parser interface {
func New(ctx context.Context, src raw.Raw) Parser {
if FlagParseV01 {
return NewV01(ctx, src)
return v01.NewV01(ctx, src)
}
return NewPlaintext(src)
}

View File

@ -2,10 +2,11 @@ package parse_test
import (
"mayhem-party/src/device/input/parse"
v01 "mayhem-party/src/device/input/parse/v01"
"testing"
)
func TestParser(t *testing.T) {
var _ parse.Parser = parse.Plaintext{}
var _ parse.Parser = &parse.V01{}
var _ parse.Parser = &v01.V01{}
}

View File

@ -1,4 +1,4 @@
package parse
package v01
import (
"context"

View File

@ -1,11 +1,11 @@
package parse_test
package v01_test
import (
"context"
"fmt"
"io"
"mayhem-party/src/device/input/button"
"mayhem-party/src/device/input/parse"
v01 "mayhem-party/src/device/input/parse/v01"
"net/http"
"os"
"path"
@ -17,7 +17,7 @@ import (
func TestV01(t *testing.T) {
src := constSrc(fmt.Sprintf(`{"T":%v,"U":"bel","Y":"abc","N":"cde"}`, time.Now().UnixNano()/int64(time.Millisecond)-50))
t.Logf("(%v) %s", len(src), src.Read())
v01 := parse.NewV01(context.Background(), src)
v01 := v01.NewV01(context.Background(), src)
defer v01.Close()
got := v01.Read()
want := []button.Button{
@ -51,10 +51,10 @@ func TestV01WithCfg(t *testing.T) {
- transformation:
w: i
`), os.ModePerm)
parse.FlagParseV01Config = p
v01.FlagParseV01Config = p
t.Run("unknown user ignored", func(t *testing.T) {
v01 := parse.NewV01(context.Background(), constSrc(`{"U":"qt","Y":"w"}`))
v01 := v01.NewV01(context.Background(), constSrc(`{"U":"qt","Y":"w"}`))
defer v01.Close()
got := v01.Read()
if len(got) != 0 {
@ -63,7 +63,7 @@ func TestV01WithCfg(t *testing.T) {
})
t.Run("player2", func(t *testing.T) {
v01 := parse.NewV01(context.Background(), constSrc(`{"U":"bel","Y":"w","N":"w"}`))
v01 := v01.NewV01(context.Background(), constSrc(`{"U":"bel","Y":"w","N":"w"}`))
defer v01.Close()
got := v01.Read()
if len(got) != 2 {
@ -96,11 +96,11 @@ func TestV01Feedback(t *testing.T) {
- transformation:
w: i
`), os.ModePerm)
parse.FlagParseV01Config = p
v01.FlagParseV01Config = p
ctx, can := context.WithCancel(context.Background())
defer can()
v01 := parse.NewV01(ctx, constSrc(`{"U":"qt","Y":"w"}`))
v01 := v01.NewV01(ctx, constSrc(`{"U":"qt","Y":"w"}`))
defer v01.Close()
for {
@ -157,3 +157,11 @@ func TestV01Feedback(t *testing.T) {
}
})
}
type constSrc string
func (c constSrc) Close() {}
func (c constSrc) Read() []byte {
return []byte(c)
}

View File

@ -1,4 +1,4 @@
package parse
package v01
import (
"testing"