[clang-tools-extra] Fix a link in ReleaseNotes.rst
[llvm-project.git] / clang-tools-extra / clangd / test / request-reply.test
blob08e1c6c69f8e3373c00986c761148d884b68733a
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":"ExpandAutoType"}]}}
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":"ExpandAutoType"}]}}
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"}