1
0
Fork 0
mirror of https://github.com/laravel-ls/protocol.git synced 2026-06-16 03:54:56 +02:00

add tests

This commit is contained in:
Henrik Hautakoski 2026-03-01 22:57:28 +01:00
parent 5049160990
commit be37cd5a53
20 changed files with 755 additions and 1 deletions

50
window_test.go Normal file
View file

@ -0,0 +1,50 @@
package protocol_test
import (
"encoding/json"
"testing"
"github.com/laravel-ls/protocol"
)
func Test_Window_StructsUnmarshalValidJSON(t *testing.T) {
var show protocol.ShowMessageParams
if err := json.Unmarshal([]byte(`{"type":2,"message":"Heads up"}`), &show); err != nil {
t.Fatalf("unmarshal ShowMessageParams failed: %v", err)
}
if show.Type != protocol.MessageTypeWarning || show.Message != "Heads up" {
t.Fatalf("unexpected ShowMessageParams: %+v", show)
}
var request protocol.ShowMessageRequestParams
if err := json.Unmarshal([]byte(`{"type":1,"message":"Retry?","actions":[{"title":"Retry"}]}`), &request); err != nil {
t.Fatalf("unmarshal ShowMessageRequestParams failed: %v", err)
}
if len(request.Actions) != 1 || request.Actions[0].Title != "Retry" {
t.Fatalf("unexpected ShowMessageRequestParams actions: %+v", request.Actions)
}
var log protocol.LogMessageParams
if err := json.Unmarshal([]byte(`{"type":4,"message":"log line"}`), &log); err != nil {
t.Fatalf("unmarshal LogMessageParams failed: %v", err)
}
if log.Type != protocol.MessageTypeLog {
t.Fatalf("unexpected LogMessageParams type: %v", log.Type)
}
var showDoc protocol.ShowDocumentParams
if err := json.Unmarshal([]byte(`{"uri":"file:///tmp/a.go","takeFocus":true,"external":false,"selection":{"start":{"line":1,"character":2},"end":{"line":1,"character":6}}}`), &showDoc); err != nil {
t.Fatalf("unmarshal ShowDocumentParams failed: %v", err)
}
if showDoc.URI != "file:///tmp/a.go" || showDoc.Selection == nil {
t.Fatalf("unexpected ShowDocumentParams: %+v", showDoc)
}
var result protocol.ShowDocumentResult
if err := json.Unmarshal([]byte(`{"success":true}`), &result); err != nil {
t.Fatalf("unmarshal ShowDocumentResult failed: %v", err)
}
if !result.Success {
t.Fatalf("unexpected ShowDocumentResult: %+v", result)
}
}