diff --git a/internal/http/properties_test.go b/internal/http/properties_test.go index 7a65338..640d96e 100644 --- a/internal/http/properties_test.go +++ b/internal/http/properties_test.go @@ -9,7 +9,7 @@ import ( "github.com/ayn2op/discordo/internal/tls" ) -func TestBrowserIdentity(t *testing.T) { +func TestCommonProperties(t *testing.T) { properties := CommonProperties() tests := []struct { @@ -29,13 +29,15 @@ func TestBrowserIdentity(t *testing.T) { } }) } +} +func TestBrowserUserAgent(t *testing.T) { if product := tls.BrowserName() + "/" + tls.BrowserVersion(); !strings.Contains(BrowserUserAgent(), product) { t.Fatalf("user agent does not contain %q", product) } } -func TestBrowserClientHints(t *testing.T) { +func TestHeaders(t *testing.T) { headers := Headers() version := tls.BrowserMajorVersion() tests := []struct { @@ -56,7 +58,7 @@ func TestBrowserClientHints(t *testing.T) { } } -func TestPropertyUUIDs(t *testing.T) { +func TestXSuperProperties(t *testing.T) { properties := XSuperProperties() for _, key := range []gateway.IdentifyPropertyKey{"client_launch_id", "client_heartbeat_session_id", "launch_signature"} { t.Run(string(key), func(t *testing.T) { diff --git a/internal/markdown/renderer_test.go b/internal/markdown/renderer_test.go index 128ab95..a27471a 100644 --- a/internal/markdown/renderer_test.go +++ b/internal/markdown/renderer_test.go @@ -10,17 +10,18 @@ import ( ) func TestRendererRenderText(t *testing.T) { - t.Run("masks spoilers", func(t *testing.T) { - source := []byte("before ||secret|| after") - node := md.Parse(source) + source := []byte("before ||secret|| after") + node := md.Parse(source) - for _, test := range []struct { - mask bool - want string - }{ - {true, "before [spoiler] after"}, - {false, "before secret after"}, - } { + for _, test := range []struct { + name string + mask bool + want string + }{ + {"spoilers_masked", true, "before [spoiler] after"}, + {"spoilers_visible", false, "before secret after"}, + } { + t.Run(test.name, func(t *testing.T) { rendered := NewRenderer(&config.Config{Markdown: config.MarkdownConfig{MaskSpoilers: test.mask}}).RenderText(source, node, tcell.StyleDefault) var got strings.Builder for _, line := range rendered { @@ -31,6 +32,6 @@ func TestRendererRenderText(t *testing.T) { if got.String() != test.want { t.Fatalf("mask=%t: got %q, want %q", test.mask, got.String(), test.want) } - } - }) + }) + } } diff --git a/internal/tls/profile_test.go b/internal/tls/profile_test.go index 5a13492..e27482c 100644 --- a/internal/tls/profile_test.go +++ b/internal/tls/profile_test.go @@ -1,26 +1,17 @@ package tls -import ( - "testing" -) +import "testing" -func TestBrowserIdentity(t *testing.T) { - hello := clientProfile.GetClientHelloId() - - tests := []struct { - name string - got string - want string - }{ - {"name", BrowserName(), hello.Client}, - {"version", BrowserVersion(), hello.Version + ".0.0.0"}, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - if test.got != test.want { - t.Fatalf("got = %q, want = %q", test.got, test.want) - } - }) +func TestBrowserName(t *testing.T) { + want := clientProfile.GetClientHelloId().Client + if got := BrowserName(); got != want { + t.Fatalf("BrowserName() = %q, want %q", got, want) + } +} + +func TestBrowserVersion(t *testing.T) { + want := clientProfile.GetClientHelloId().Version + ".0.0.0" + if got := BrowserVersion(); got != want { + t.Fatalf("BrowserVersion() = %q, want %q", got, want) } } diff --git a/internal/ui/chat/composer_test.go b/internal/ui/chat/composer_test.go index 0d9fd0f..f1576de 100644 --- a/internal/ui/chat/composer_test.go +++ b/internal/ui/chat/composer_test.go @@ -80,7 +80,7 @@ func TestComposerEditLastMessage(t *testing.T) { } } -func TestMemberSearchCache(t *testing.T) { +func TestComposerSearchMember(t *testing.T) { cfg, err := config.Load(filepath.Join(t.TempDir(), "config.toml")) if err != nil { t.Fatal(err) diff --git a/internal/ui/login/qr/msg_test.go b/internal/ui/login/qr/msg_test.go index 955a6ef..8d27156 100644 --- a/internal/ui/login/qr/msg_test.go +++ b/internal/ui/login/qr/msg_test.go @@ -3,26 +3,27 @@ package qr import "testing" func TestDecodeMessage(t *testing.T) { - t.Run("decodes messages", func(t *testing.T) { - tests := []struct { - data string - want any - }{ - {`{"op":"hello","heartbeat_interval":100,"timeout_ms":200}`, helloMsg{heartbeatInterval: 100, timeoutMS: 200}}, - {`{"op":"nonce_proof","encrypted_nonce":"nonce"}`, nonceProofMsg{encryptedNonce: "nonce"}}, - {`{"op":"pending_remote_init","fingerprint":"fingerprint"}`, pendingRemoteInitMsg{fingerprint: "fingerprint"}}, - {`{"op":"pending_ticket","encrypted_user_payload":"payload"}`, pendingTicketMsg{encryptedUserPayload: "payload"}}, - {`{"op":"cancel"}`, cancelMsg{}}, - {`{"op":"pending_login","ticket":"ticket"}`, pendingLoginMsg{ticket: "ticket"}}, - {`{"op":"unknown"}`, nil}, - } + tests := []struct { + name string + data string + want any + }{ + {"hello", `{"op":"hello","heartbeat_interval":100,"timeout_ms":200}`, helloMsg{heartbeatInterval: 100, timeoutMS: 200}}, + {"nonce_proof", `{"op":"nonce_proof","encrypted_nonce":"nonce"}`, nonceProofMsg{encryptedNonce: "nonce"}}, + {"pending_remote_init", `{"op":"pending_remote_init","fingerprint":"fingerprint"}`, pendingRemoteInitMsg{fingerprint: "fingerprint"}}, + {"pending_ticket", `{"op":"pending_ticket","encrypted_user_payload":"payload"}`, pendingTicketMsg{encryptedUserPayload: "payload"}}, + {"cancel", `{"op":"cancel"}`, cancelMsg{}}, + {"pending_login", `{"op":"pending_login","ticket":"ticket"}`, pendingLoginMsg{ticket: "ticket"}}, + {"unknown", `{"op":"unknown"}`, nil}, + } - for _, test := range tests { + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { if got := decodeMessage([]byte(test.data)); got != test.want { t.Errorf("decodeMessage(%s) = %#v, want %#v", test.data, got, test.want) } - } - }) + }) + } t.Run("rejects duplicate names", func(t *testing.T) { if _, ok := decodeMessage([]byte(`{"op":"cancel","op":"hello"}`)).(errMsg); !ok {