@@ -66,25 +66,32 @@ func TestDocumentSymbolParse(t *testing.T) {
66
66
}
67
67
68
68
func 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
+ })
78
80
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
+ })
82
86
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
+ })
86
92
87
- msg := `{
93
+ t .Run ("InitializeResult" , func (t * testing.T ) {
94
+ msg := `{
88
95
"capabilities":{
89
96
"codeActionProvider":{
90
97
"codeActionKinds":["quickfix","refactor","info"]},
@@ -124,29 +131,32 @@ func TestVariousMessages(t *testing.T) {
124
131
"workspaceSymbolProvider":true
125
132
},
126
133
"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
+ })
130
138
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
+ })
152
162
}
0 commit comments