[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