summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clangd/RIFFTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/unittests/clangd/RIFFTests.cpp')
-rw-r--r--clang-tools-extra/unittests/clangd/RIFFTests.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clangd/RIFFTests.cpp b/clang-tools-extra/unittests/clangd/RIFFTests.cpp
new file mode 100644
index 00000000000..d252edf8e5c
--- /dev/null
+++ b/clang-tools-extra/unittests/clangd/RIFFTests.cpp
@@ -0,0 +1,39 @@
+//===-- RIFFTests.cpp - Binary container unit tests -----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "RIFF.h"
+#include "gmock/gmock.h"
+#include "gtest/gtest.h"
+
+namespace clang {
+namespace clangd {
+namespace {
+using namespace llvm;
+using ::testing::ElementsAre;
+
+TEST(RIFFTest, File) {
+ riff::File File{riff::fourCC("test"),
+ {
+ {riff::fourCC("even"), "abcd"},
+ {riff::fourCC("oddd"), "abcde"},
+ }};
+ StringRef Serialized = StringRef("RIFF\x1e\0\0\0test"
+ "even\x04\0\0\0abcd"
+ "oddd\x05\0\0\0abcde\0",
+ 38);
+
+ EXPECT_EQ(llvm::to_string(File), Serialized);
+ auto Parsed = riff::readFile(Serialized);
+ ASSERT_TRUE(bool(Parsed)) << Parsed.takeError();
+ EXPECT_EQ(*Parsed, File);
+}
+
+} // namespace
+} // namespace clangd
+} // namespace clang
OpenPOWER on IntegriCloud