From ecb415f321f4fb5ed64a6c421e8ca06a7d0b7100 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Wed, 24 Dec 2025 16:02:23 -0600 Subject: [PATCH] add basic test for raw framer --- internal/framer/raw_test.go | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 internal/framer/raw_test.go diff --git a/internal/framer/raw_test.go b/internal/framer/raw_test.go new file mode 100644 index 0000000..4a2d4a8 --- /dev/null +++ b/internal/framer/raw_test.go @@ -0,0 +1,40 @@ +package framer_test + +import ( + "slices" + "testing" + + "github.com/jwetzell/showbridge-go/internal/framer" +) + +func TestGoodRawFramer(t *testing.T) { + tests := []struct { + name string + framer framer.Framer + input []byte + expected [][]byte + }{ + { + name: "basic raw framer", + framer: framer.NewRawFramer(), + input: []byte("Hello\nWorld\nThis is a test\n"), + expected: [][]byte{ + []byte("Hello\nWorld\nThis is a test\n"), + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + frames := test.framer.Decode(test.input) + if len(frames) != len(test.expected) { + t.Errorf("raw framer got %d frames, expected %d", len(frames), len(test.expected)) + } + for i, frame := range frames { + if !slices.Equal(frame, test.expected[i]) { + t.Errorf("raw framer frame %d got %s, expected %s", i, frame, test.expected[i]) + } + } + }) + } +}