MCPcopy Index your code
hub / github.com/coder/websocket / Test_selectDeflate

Function Test_selectDeflate

accept_test.go:525–587  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

523}
524
525func Test_selectDeflate(t *testing.T) {
526 t.Parallel()
527
528 testCases := []struct {
529 name string
530 mode CompressionMode
531 header string
532 expCopts *compressionOptions
533 expOK bool
534 }{
535 {
536 name: "disabled",
537 mode: CompressionDisabled,
538 expCopts: nil,
539 expOK: false,
540 },
541 {
542 name: "noClientSupport",
543 mode: CompressionNoContextTakeover,
544 expCopts: nil,
545 expOK: false,
546 },
547 {
548 name: "permessage-deflate",
549 mode: CompressionNoContextTakeover,
550 header: "permessage-deflate; client_max_window_bits",
551 expCopts: &compressionOptions{
552 clientNoContextTakeover: true,
553 serverNoContextTakeover: true,
554 },
555 expOK: true,
556 },
557 {
558 name: "permessage-deflate/unknown-parameter",
559 mode: CompressionNoContextTakeover,
560 header: "permessage-deflate; meow",
561 expOK: false,
562 },
563 {
564 name: "permessage-deflate/unknown-parameter",
565 mode: CompressionNoContextTakeover,
566 header: "permessage-deflate; meow, permessage-deflate; client_max_window_bits",
567 expCopts: &compressionOptions{
568 clientNoContextTakeover: true,
569 serverNoContextTakeover: true,
570 },
571 expOK: true,
572 },
573 }
574
575 for _, tc := range testCases {
576 tc := tc
577 t.Run(tc.name, func(t *testing.T) {
578 t.Parallel()
579
580 h := http.Header{}
581 h.Set("Sec-WebSocket-Extensions", tc.header)
582 copts, ok := selectDeflate(websocketExtensions(h), tc.mode)

Callers

nothing calls this directly

Calls 3

EqualFunction · 0.92
selectDeflateFunction · 0.85
websocketExtensionsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…