summaryrefslogtreecommitdiffstats
path: root/unittests/libclang
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2014-03-03 07:41:45 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2014-03-03 07:41:45 +0000
commit1d4cff185f201ea5c98c7433f008fe34b285d9e1 (patch)
tree93232f085128c248060c5b377a69d2e02507dfac /unittests/libclang
parent54108d097e1f6ad6500e1475aa7a0ee56252e875 (diff)
[libclang] Introduce APIs that assist in constructing a simple module.map file for a user framework.
rdar://16092858 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202681 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/libclang')
-rw-r--r--unittests/libclang/LibclangTest.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/unittests/libclang/LibclangTest.cpp b/unittests/libclang/LibclangTest.cpp
index 3809c1ce88..09d51b2168 100644
--- a/unittests/libclang/LibclangTest.cpp
+++ b/unittests/libclang/LibclangTest.cpp
@@ -141,3 +141,26 @@ TEST(libclang, VirtualFileOverlay) {
T.map("/path/virtual/dir/in/subdir/foo4.h", "/real/foo4.h");
}
}
+
+TEST(libclang, ModuleMapDescriptor) {
+ const char *Contents =
+ "framework module TestFrame {\n"
+ " umbrella header \"TestFrame.h\"\n"
+ "\n"
+ " export *\n"
+ " module * { export * }\n"
+ "}\n";
+
+ CXModuleMapDescriptor MMD = clang_ModuleMapDescriptor_create(0);
+
+ clang_ModuleMapDescriptor_setFrameworkModuleName(MMD, "TestFrame");
+ clang_ModuleMapDescriptor_setUmbrellaHeader(MMD, "TestFrame.h");
+
+ char *BufPtr;
+ unsigned BufSize;
+ clang_ModuleMapDescriptor_writeToBuffer(MMD, 0, &BufPtr, &BufSize);
+ std::string BufStr(BufPtr, BufSize);
+ EXPECT_STREQ(Contents, BufStr.c_str());
+ free(BufPtr);
+ clang_ModuleMapDescriptor_dispose(MMD);
+}