diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2014-03-03 07:41:45 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2014-03-03 07:41:45 +0000 |
commit | 1d4cff185f201ea5c98c7433f008fe34b285d9e1 (patch) | |
tree | 93232f085128c248060c5b377a69d2e02507dfac /unittests/libclang | |
parent | 54108d097e1f6ad6500e1475aa7a0ee56252e875 (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.cpp | 23 |
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); +} |