diff options
Diffstat (limited to 'clang-tools-extra/test/clangd/completion-snippet.test')
-rw-r--r-- | clang-tools-extra/test/clangd/completion-snippet.test | 107 |
1 files changed, 79 insertions, 28 deletions
diff --git a/clang-tools-extra/test/clangd/completion-snippet.test b/clang-tools-extra/test/clangd/completion-snippet.test index c43302a8151..d2f91e983d8 100644 --- a/clang-tools-extra/test/clangd/completion-snippet.test +++ b/clang-tools-extra/test/clangd/completion-snippet.test @@ -1,4 +1,4 @@ -# RUN: clangd -run-synchronously -enable-snippets < %s | FileCheck %s
+# RUN: clangd -pretty -run-synchronously -enable-snippets < %s | FileCheck -strict-whitespace %s
# It is absolutely vital that this file has CRLF line endings.
#
Content-Length: 125
@@ -12,30 +12,72 @@ Content-Length: 246 Content-Length: 148
{"jsonrpc":"2.0","id":1,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///main.cpp"},"position":{"line":3,"character":5}}}
-# The order of results returned by codeComplete seems to be
-# nondeterministic, so we check regardless of order.
-#
-# CHECK: {"id":1,"jsonrpc":"2.0","result":[
-# CHECK-DAG: {"detail":"int","filterText":"a","insertText":"a","insertTextFormat":1,"kind":5,"label":"a","sortText":"000035a"}
-# CHECK-DAG: {"detail":"int","filterText":"bb","insertText":"bb","insertTextFormat":1,"kind":5,"label":"bb","sortText":"000035bb"}
-# CHECK-DAG: {"detail":"int","filterText":"ccc","insertText":"ccc","insertTextFormat":1,"kind":5,"label":"ccc","sortText":"000035ccc"}
-# CHECK-DAG: {"detail":"fake &","filterText":"operator=","insertText":"operator=(${1:const fake &})","insertTextFormat":2,"kind":2,"label":"operator=(const fake &)","sortText":"000079operator="}
-# CHECK-DAG: {"detail":"void","filterText":"~fake","insertText":"~fake()","insertTextFormat":1,"kind":4,"label":"~fake()","sortText":"000079~fake"}
-# CHECK-DAG: {"detail":"int","filterText":"f","insertText":"f(${1:int i}, ${2:const float f})","insertTextFormat":2,"kind":2,"label":"f(int i, const float f) const","sortText":"000035f"}
-# CHECK-SAME: ]}
-Content-Length: 148
-
-{"jsonrpc":"2.0","id":2,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///main.cpp"},"position":{"line":3,"character":5}}}
-# Repeat the completion request, expect the same results.
-#
-# CHECK: {"id":2,"jsonrpc":"2.0","result":[
-# CHECK-DAG: {"detail":"int","filterText":"a","insertText":"a","insertTextFormat":1,"kind":5,"label":"a","sortText":"000035a"}
-# CHECK-DAG: {"detail":"int","filterText":"bb","insertText":"bb","insertTextFormat":1,"kind":5,"label":"bb","sortText":"000035bb"}
-# CHECK-DAG: {"detail":"int","filterText":"ccc","insertText":"ccc","insertTextFormat":1,"kind":5,"label":"ccc","sortText":"000035ccc"}
-# CHECK-DAG: {"detail":"fake &","filterText":"operator=","insertText":"operator=(${1:const fake &})","insertTextFormat":2,"kind":2,"label":"operator=(const fake &)","sortText":"000079operator="}
-# CHECK-DAG: {"detail":"void","filterText":"~fake","insertText":"~fake()","insertTextFormat":1,"kind":4,"label":"~fake()","sortText":"000079~fake"}
-# CHECK-DAG: {"detail":"int","filterText":"f","insertText":"f(${1:int i}, ${2:const float f})","insertTextFormat":2,"kind":2,"label":"f(int i, const float f) const","sortText":"000035f"}
-# CHECK-SAME: ]}
+# CHECK: "id": 1,
+# CHECK-NEXT: "jsonrpc": "2.0",
+# CHECK-NEXT: "result": [
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "int",
+# CHECK-NEXT: "filterText": "a",
+# CHECK-NEXT: "insertText": "a",
+# CHECK-NEXT: "insertTextFormat": 1,
+# CHECK-NEXT: "kind": 5,
+# CHECK-NEXT: "label": "a",
+# CHECK-NEXT: "sortText": "000035a"
+# CHECK-NEXT: },
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "int",
+# CHECK-NEXT: "filterText": "bb",
+# CHECK-NEXT: "insertText": "bb",
+# CHECK-NEXT: "insertTextFormat": 1,
+# CHECK-NEXT: "kind": 5,
+# CHECK-NEXT: "label": "bb",
+# CHECK-NEXT: "sortText": "000035bb"
+# CHECK-NEXT: },
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "int",
+# CHECK-NEXT: "filterText": "ccc",
+# CHECK-NEXT: "insertText": "ccc",
+# CHECK-NEXT: "insertTextFormat": 1,
+# CHECK-NEXT: "kind": 5,
+# CHECK-NEXT: "label": "ccc",
+# CHECK-NEXT: "sortText": "000035ccc"
+# CHECK-NEXT: },
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "int",
+# CHECK-NEXT: "filterText": "f",
+# CHECK-NEXT: "insertText": "f(${1:int i}, ${2:const float f})",
+# CHECK-NEXT: "insertTextFormat": 2,
+# CHECK-NEXT: "kind": 2,
+# CHECK-NEXT: "label": "f(int i, const float f) const",
+# CHECK-NEXT: "sortText": "000035f"
+# CHECK-NEXT: },
+# CHECK-NEXT: {
+# CHECK-NEXT: "filterText": "fake",
+# CHECK-NEXT: "insertText": "fake::",
+# CHECK-NEXT: "insertTextFormat": 1,
+# CHECK-NEXT: "kind": 7,
+# CHECK-NEXT: "label": "fake::",
+# CHECK-NEXT: "sortText": "000075fake"
+# CHECK-NEXT: },
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "fake &",
+# CHECK-NEXT: "filterText": "operator=",
+# CHECK-NEXT: "insertText": "operator=(${1:const fake &})",
+# CHECK-NEXT: "insertTextFormat": 2,
+# CHECK-NEXT: "kind": 2,
+# CHECK-NEXT: "label": "operator=(const fake &)",
+# CHECK-NEXT: "sortText": "000079operator="
+# CHECK-NEXT: },
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "void",
+# CHECK-NEXT: "filterText": "~fake",
+# CHECK-NEXT: "insertText": "~fake()",
+# CHECK-NEXT: "insertTextFormat": 1,
+# CHECK-NEXT: "kind": 4,
+# CHECK-NEXT: "label": "~fake()",
+# CHECK-NEXT: "sortText": "000079~fake"
+# CHECK-NEXT: }
+# CHECK-NEXT: ]
# Update the source file and check for completions again.
Content-Length: 226
@@ -44,9 +86,18 @@ Content-Length: 226 Content-Length: 148
{"jsonrpc":"2.0","id":3,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///main.cpp"},"position":{"line":3,"character":5}}}
-# CHECK: {"id":3,"jsonrpc":"2.0","result":[
-# CHECK-DAG: {"detail":"int (*)(int, int)","filterText":"func","insertText":"func()","insertTextFormat":1,"kind":2,"label":"func()","sortText":"000034func"}
-# CHECK-SAME: ]}
+# CHECK: "id": 3,
+# CHECK-NEXT: "jsonrpc": "2.0",
+# CHECK-NEXT: "result": [
+# CHECK-NEXT: {
+# CHECK-NEXT: "detail": "int (*)(int, int)",
+# CHECK-NEXT: "filterText": "func",
+# CHECK-NEXT: "insertText": "func()",
+# CHECK-NEXT: "insertTextFormat": 1,
+# CHECK-NEXT: "kind": 2,
+# CHECK-NEXT: "label": "func()",
+# CHECK-NEXT: "sortText": "000034func"
+# CHECK-NEXT: },
Content-Length: 44
{"jsonrpc":"2.0","id":4,"method":"shutdown"}
|