MCPcopy
hub / github.com/gorilla/websocket / TestPreparedMessage

Function TestPreparedMessage

prepared_test.go:35–74  ·  prepared_test.go::TestPreparedMessage
(t *testing.T)

Source from the content-addressed store, hash-verified

33}
34
35func TestPreparedMessage(t *testing.T) {
36 for _, tt := range preparedMessageTests {
37 var data = []byte("this is a test")
38 var buf bytes.Buffer
39 c := newTestConn(nil, &buf, tt.isServer)
40 if tt.enableWriteCompression {
41 c.newCompressionWriter = compressNoContextTakeover
42 }
43 c.SetCompressionLevel(tt.compressionLevel)
44
45 // Seed random number generator for consistent frame mask.
46 rand.Seed(1234)
47
48 if err := c.WriteMessage(tt.messageType, data); err != nil {
49 t.Fatal(err)
50 }
51 want := buf.String()
52
53 pm, err := NewPreparedMessage(tt.messageType, data)
54 if err != nil {
55 t.Fatal(err)
56 }
57
58 // Scribble on data to ensure that NewPreparedMessage takes a snapshot.
59 copy(data, "hello world")
60
61 // Seed random number generator for consistent frame mask.
62 rand.Seed(1234)
63
64 buf.Reset()
65 if err := c.WritePreparedMessage(pm); err != nil {
66 t.Fatal(err)
67 }
68 got := buf.String()
69
70 if got != want {
71 t.Errorf("write message != prepared message for %+v", tt)
72 }
73 }
74}

Callers

nothing calls this directly

Calls 6

newTestConnFunction · 0.85
NewPreparedMessageFunction · 0.85
SetCompressionLevelMethod · 0.80
WriteMessageMethod · 0.80
StringMethod · 0.80
WritePreparedMessageMethod · 0.80

Tested by

no test coverage detected