xref: /llvm-project/clang-tools-extra/clangd/test/request-reply.test (revision 1feb7af046889728233e67e3163ab30020207bb2)
1# RUN: clangd -log=verbose -lit-test < %s | FileCheck -strict-whitespace %s
2{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
3---
4{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///main.cpp","languageId":"cpp","version":1,"text":"auto i = 0;"}}}
5---
6{"jsonrpc":"2.0","id":4,"method":"workspace/executeCommand","params":{"command":"clangd.applyTweak","arguments":[{"file":"test:///main.cpp","selection":{"end":{"character":4,"line":0},"start":{"character":0,"line":0}},"tweakID":"ExpandDeducedType"}]}}
7#      CHECK:  "id": 0,
8#      CHECK:  "method": "workspace/applyEdit",
9#      CHECK:  "newText": "int",
10# CHECK-NEXT:  "range": {
11# CHECK-NEXT:    "end": {
12# CHECK-NEXT:      "character": 4,
13# CHECK-NEXT:      "line": 0
14# CHECK-NEXT:    },
15# CHECK-NEXT:    "start": {
16# CHECK-NEXT:      "character": 0,
17# CHECK-NEXT:      "line": 0
18# CHECK-NEXT:    }
19# CHECK-NEXT:  }
20---
21{"jsonrpc":"2.0","id":0,"result":{"applied":false}}
22#      CHECK:  "error": {
23# CHECK-NEXT:    "code": -32001,
24# CHECK-NEXT:    "message": "edits were not applied: unknown reason"
25# CHECK-NEXT:  },
26# CHECK-NEXT:  "id": 4,
27---
28{"jsonrpc":"2.0","id":5,"method":"workspace/executeCommand","params":{"command":"clangd.applyTweak","arguments":[{"file":"test:///main.cpp","selection":{"end":{"character":4,"line":0},"start":{"character":0,"line":0}},"tweakID":"ExpandDeducedType"}]}}
29#      CHECK:  "id": 1,
30#      CHECK:  "method": "workspace/applyEdit",
31---
32{"jsonrpc":"2.0","id":1,"result":{"applied":true}}
33#      CHECK:  "id": 5,
34# CHECK-NEXT:  "jsonrpc": "2.0",
35# CHECK-NEXT:  "result": "Tweak applied."
36---
37# a reply with an invalid id.
38{"jsonrpc":"2.0","id":"invalid","result":{"applied":true}}
39# clangd doesn't reply, just emits an elog.
40---
41{"jsonrpc":"2.0","id":6,"method":"shutdown"}
42---
43{"jsonrpc":"2.0","method":"exit"}
44