wrap accepts button.Parser
parent
b319ed7e6d
commit
896f5e9c92
|
|
@ -1,7 +1,6 @@
|
||||||
package wrap
|
package wrap
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"mayhem-party/src/device/input/raw"
|
|
||||||
"os"
|
"os"
|
||||||
"syscall"
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
@ -12,7 +11,7 @@ func TestRefresh(t *testing.T) {
|
||||||
b := byte('a')
|
b := byte('a')
|
||||||
generator := func() Wrap {
|
generator := func() Wrap {
|
||||||
b += byte(1)
|
b += byte(1)
|
||||||
return explicit{src: raw.NewRandom(func() byte { return b })}
|
return dummyParser{Char: b}
|
||||||
}
|
}
|
||||||
ch := make(chan os.Signal, 1)
|
ch := make(chan os.Signal, 1)
|
||||||
defer close(ch)
|
defer close(ch)
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package wrap
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"mayhem-party/src/device/input/button"
|
"mayhem-party/src/device/input/button"
|
||||||
"mayhem-party/src/device/input/raw"
|
|
||||||
"os"
|
"os"
|
||||||
"syscall"
|
"syscall"
|
||||||
)
|
)
|
||||||
|
|
@ -13,14 +12,9 @@ type Wrap interface {
|
||||||
Close()
|
Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(ctx context.Context, src raw.Raw) Wrap {
|
func New(ctx context.Context, src button.Parser) Wrap {
|
||||||
maker := func() Wrap {
|
maker := func() Wrap {
|
||||||
return explicit{src: src}
|
return src
|
||||||
}
|
|
||||||
if os.Getenv("WRAP_PROTOCOL") == "true" {
|
|
||||||
maker = func() Wrap {
|
|
||||||
return NewProtocol(src)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if os.Getenv("WRAP_BUFFERED") == "true" {
|
if os.Getenv("WRAP_BUFFERED") == "true" {
|
||||||
oldMaker := maker
|
oldMaker := maker
|
||||||
|
|
@ -43,13 +37,3 @@ func New(ctx context.Context, src raw.Raw) Wrap {
|
||||||
}
|
}
|
||||||
return maker()
|
return maker()
|
||||||
}
|
}
|
||||||
|
|
||||||
type explicit struct {
|
|
||||||
src raw.Raw
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e explicit) Close() {
|
|
||||||
e.src.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e explicit) Read() []button.Button {
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,21 @@
|
||||||
package wrap
|
package wrap
|
||||||
|
|
||||||
import "testing"
|
import (
|
||||||
|
"mayhem-party/src/device/input/button"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
func TestWrap(t *testing.T) {
|
func TestWrap(t *testing.T) {
|
||||||
var _ Wrap = explicit{}
|
var _ Wrap = dummyParser{}
|
||||||
var _ Wrap = &Refresh{}
|
var _ Wrap = &Refresh{}
|
||||||
var _ Wrap = &Buffered{}
|
var _ Wrap = &Buffered{}
|
||||||
var _ Wrap = &Remap{}
|
var _ Wrap = &Remap{}
|
||||||
var _ Wrap = Protocol{}
|
var _ Wrap = Protocol{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type dummyParser button.Button
|
||||||
|
|
||||||
|
func (d dummyParser) Close() {}
|
||||||
|
func (d dummyParser) Read() []button.Button {
|
||||||
|
return []button.Button{button.Button(d)}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue