[clangd][tests] Fix delimiter handling
Empty line shouldn't be considered a delimiter
Differential Revision: https://reviews.llvm.org/D45764
llvm-svn: 330609
diff --git a/clang-tools-extra/clangd/JSONRPCDispatcher.cpp b/clang-tools-extra/clangd/JSONRPCDispatcher.cpp
index 1e0f5bc..e86b09d 100644
--- a/clang-tools-extra/clangd/JSONRPCDispatcher.cpp
+++ b/clang-tools-extra/clangd/JSONRPCDispatcher.cpp
@@ -278,7 +278,7 @@
continue;
// found a delimiter
- if (LineRef.find_first_not_of('-') == llvm::StringRef::npos)
+ if (LineRef.rtrim() == "---")
break;
JSON += Line;
diff --git a/clang-tools-extra/test/clangd/spaces-in-delimited-input.test b/clang-tools-extra/test/clangd/spaces-in-delimited-input.test
new file mode 100644
index 0000000..63e3e0b
--- /dev/null
+++ b/clang-tools-extra/test/clangd/spaces-in-delimited-input.test
@@ -0,0 +1,13 @@
+# RUN: clangd -input-style=delimited -run-synchronously < %s 2>&1 | FileCheck %s
+# RUN: clangd -lit-test -run-synchronously < %s 2>&1 | FileCheck %s
+#
+{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
+
+---
+
+{"jsonrpc":"2.0","id":3,"method":"shutdown"}
+
+---
+
+{"jsonrpc":"2.0","id":3,"method":"exit"}
+# CHECK-NOT: JSON parse error