@@ -66,25 +66,32 @@ func TestDocumentSymbolParse(t *testing.T) {
6666}
6767
6868func TestVariousMessages (t * testing.T ) {
69- x := & ProgressParams {
70- Token : "token" ,
71- Value : Raw (WorkDoneProgressBegin {
72- Title : "some work" ,
73- }),
74- }
75- data , err := json .Marshal (& x )
76- require .NoError (t , err )
77- require .JSONEq (t , `{"token":"token", "value":{"kind":"begin","title":"some work"}}` , string (data ))
69+ t .Run ("ProgressParamsMarshalUnmarshal" , func (t * testing.T ) {
70+ x := & ProgressParams {
71+ Token : "token" ,
72+ Value : Raw (WorkDoneProgressBegin {
73+ Title : "some work" ,
74+ }),
75+ }
76+ data , err := json .Marshal (& x )
77+ require .NoError (t , err )
78+ require .JSONEq (t , `{"token":"token", "value":{"kind":"begin","title":"some work"}}` , string (data ))
79+ })
7880
79- var begin WorkDoneProgressBegin
80- err = json .Unmarshal ([]byte (`{"kind":"begin","title":"some work"}` ), & begin )
81- require .NoError (t , err )
81+ t .Run ("WorkDoneProgressBegin" , func (t * testing.T ) {
82+ var begin WorkDoneProgressBegin
83+ err := json .Unmarshal ([]byte (`{"kind":"begin","title":"some work"}` ), & begin )
84+ require .NoError (t , err )
85+ })
8286
83- var report WorkDoneProgressReport
84- err = json .Unmarshal ([]byte (`{"kind":"report","message":"28/29","percentage":96.551724137931032}` ), & report )
85- require .NoError (t , err )
87+ t .Run ("WorkDoneProgressReport" , func (t * testing.T ) {
88+ var report WorkDoneProgressReport
89+ err := json .Unmarshal ([]byte (`{"kind":"report","message":"28/29","percentage":96.551724137931032}` ), & report )
90+ require .NoError (t , err )
91+ })
8692
87- msg := `{
93+ t .Run ("InitializeResult" , func (t * testing.T ) {
94+ msg := `{
8895 "capabilities":{
8996 "codeActionProvider":{
9097 "codeActionKinds":["quickfix","refactor","info"]},
@@ -124,29 +131,32 @@ func TestVariousMessages(t *testing.T) {
124131 "workspaceSymbolProvider":true
125132 },
126133 "serverInfo":{"name":"clangd","version":"clangd version 11.0.0 (https://github.com/llvm/llvm-project 176249bd6732a8044d457092ed932768724a6f06)"}}`
127- var init InitializeResult
128- err = json .Unmarshal ([]byte (msg ), & init )
129- require .NoError (t , err )
134+ var init InitializeResult
135+ err := json .Unmarshal ([]byte (msg ), & init )
136+ require .NoError (t , err )
137+ })
130138
131- msg = `[{"kind":12,"name":"setup","range":{"end":{"character":12,"line":5},"start":{"character":0,"line":5}},"selectionRange":
132- {"end":{"character":10,"line":5},"start":{"character":5,"line":5}}},{"kind":12,"name":"newfunc","range":{"end":{"character":14,"line":7},
133- "start":{"character":0,"line":7}},"selectionRange":{"end":{"character":12,"line":7},"start":{"character":5,"line":7}}},{"kind":12,"name":
134- "altro","range":{"end":{"character":12,"line":9},"start":{"character":0,"line":9}},"selectionRange":{"end":{"character":10,"line":9},"start":
135- {"character":5,"line":9}}},{"kind":12,"name":"ancora","range":{"end":{"character":18,"line":11},"start":{"character":0,"line":11}},
136- "selectionRange":{"end":{"character":11,"line":11},"start":{"character":5,"line":11}}},{"kind":12,"name":"loop","range":{"end":{
137- "character":11,"line":13},"start":{"character":0,"line":13}},"selectionRange":{"end":{"character":9,"line":13},"start":{"character":5,
138- "line":13}}},{"kind":12,"name":"secondFunction","range":{"end":{"character":21,"line":15},"start":{"character":0,"line":15}},
139- "selectionRange":{"end":{"character":19,"line":15},"start":{"character":5,"line":15}}},{"kind":12,"name":"setup","range":{"end":{
140- "character":1,"line":34},"start":{"character":0,"line":17}},"selectionRange":{"end":{"character":10,"line":17},"start":{"character":5,
141- "line":17}}},{"kind":12,"name":"newfunc","range":{"end":{"character":1,"line":40},"start":{"character":0,"line":36}},"selectionRange":
142- {"end":{"character":12,"line":36},"start":{"character":5,"line":36}}},{"kind":12,"name":"altro","range":{"end":{"character":38,"line":42},
143- "start":{"character":0,"line":42}},"selectionRange":{"end":{"character":10,"line":42},"start":{"character":5,"line":42}}},{"kind":12,
144- "name":"ancora","range":{"end":{"character":21,"line":47},"start":{"character":0,"line":47}},"selectionRange":{"end":{"character":11,
145- "line":47},"start":{"character":5,"line":47}}},{"kind":12,"name":"loop","range":{"end":{"character":24,"line":49},"start":{"character":0,
146- "line":49}},"selectionRange":{"end":{"character":9,"line":49},"start":{"character":5,"line":49}}},{"kind":12,"name":"secondFunction",
147- "range":{"end":{"character":38,"line":53},"start":{"character":0,"line":53}},"selectionRange":{"end":{"character":19,"line":53},"start":
148- {"character":5,"line":53}}}]`
149- var symbol DocumentSymbolArrayOrSymbolInformationArray
150- err = json .Unmarshal ([]byte (msg ), & symbol )
151- require .NoError (t , err )
139+ t .Run ("DocumentSymbol" , func (t * testing.T ) {
140+ msg := `[{"kind":12,"name":"setup","range":{"end":{"character":12,"line":5},"start":{"character":0,"line":5}},"selectionRange":
141+ {"end":{"character":10,"line":5},"start":{"character":5,"line":5}}},{"kind":12,"name":"newfunc","range":{"end":{"character":14,"line":7},
142+ "start":{"character":0,"line":7}},"selectionRange":{"end":{"character":12,"line":7},"start":{"character":5,"line":7}}},{"kind":12,"name":
143+ "altro","range":{"end":{"character":12,"line":9},"start":{"character":0,"line":9}},"selectionRange":{"end":{"character":10,"line":9},"start":
144+ {"character":5,"line":9}}},{"kind":12,"name":"ancora","range":{"end":{"character":18,"line":11},"start":{"character":0,"line":11}},
145+ "selectionRange":{"end":{"character":11,"line":11},"start":{"character":5,"line":11}}},{"kind":12,"name":"loop","range":{"end":{
146+ "character":11,"line":13},"start":{"character":0,"line":13}},"selectionRange":{"end":{"character":9,"line":13},"start":{"character":5,
147+ "line":13}}},{"kind":12,"name":"secondFunction","range":{"end":{"character":21,"line":15},"start":{"character":0,"line":15}},
148+ "selectionRange":{"end":{"character":19,"line":15},"start":{"character":5,"line":15}}},{"kind":12,"name":"setup","range":{"end":{
149+ "character":1,"line":34},"start":{"character":0,"line":17}},"selectionRange":{"end":{"character":10,"line":17},"start":{"character":5,
150+ "line":17}}},{"kind":12,"name":"newfunc","range":{"end":{"character":1,"line":40},"start":{"character":0,"line":36}},"selectionRange":
151+ {"end":{"character":12,"line":36},"start":{"character":5,"line":36}}},{"kind":12,"name":"altro","range":{"end":{"character":38,"line":42},
152+ "start":{"character":0,"line":42}},"selectionRange":{"end":{"character":10,"line":42},"start":{"character":5,"line":42}}},{"kind":12,
153+ "name":"ancora","range":{"end":{"character":21,"line":47},"start":{"character":0,"line":47}},"selectionRange":{"end":{"character":11,
154+ "line":47},"start":{"character":5,"line":47}}},{"kind":12,"name":"loop","range":{"end":{"character":24,"line":49},"start":{"character":0,
155+ "line":49}},"selectionRange":{"end":{"character":9,"line":49},"start":{"character":5,"line":49}}},{"kind":12,"name":"secondFunction",
156+ "range":{"end":{"character":38,"line":53},"start":{"character":0,"line":53}},"selectionRange":{"end":{"character":19,"line":53},"start":
157+ {"character":5,"line":53}}}]`
158+ var symbol DocumentSymbolArrayOrSymbolInformationArray
159+ err := json .Unmarshal ([]byte (msg ), & symbol )
160+ require .NoError (t , err )
161+ })
152162}
0 commit comments