Author: Erick Velez Date: 2025-09-23T17:56:07-07:00 New Revision: e7515eea3688f02650b5fa57c2832d994bba3d62
URL: https://github.com/llvm/llvm-project/commit/e7515eea3688f02650b5fa57c2832d994bba3d62 DIFF: https://github.com/llvm/llvm-project/commit/e7515eea3688f02650b5fa57c2832d994bba3d62.diff LOG: [clang-doc] fix CSS, JS paths for HTML Mustache generation (#160360) Resource creation not using the correct path after the patch that placed HTML files into their own directory. Added: Modified: clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp b/clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp index 1ab40aacbfe09..b37dc272ea156 100644 --- a/clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp +++ b/clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp @@ -274,11 +274,12 @@ Error MustacheHTMLGenerator::generateDocForInfo(Info *I, raw_ostream &OS, } Error MustacheHTMLGenerator::createResources(ClangDocContext &CDCtx) { + std::string ResourcePath(CDCtx.OutDirectory + "/html"); for (const auto &FilePath : CDCtx.UserStylesheets) - if (Error Err = copyFile(FilePath, CDCtx.OutDirectory)) + if (Error Err = copyFile(FilePath, ResourcePath)) return Err; for (const auto &FilePath : CDCtx.JsScripts) - if (Error Err = copyFile(FilePath, CDCtx.OutDirectory)) + if (Error Err = copyFile(FilePath, ResourcePath)) return Err; return Error::success(); } diff --git a/clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp b/clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp index 602058f5d9eb8..c7ac387ecf7c3 100644 --- a/clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp +++ b/clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp @@ -12,9 +12,7 @@ #include "config.h" #include "support/Utils.h" #include "clang/Basic/Version.h" -#include "llvm/Support/Path.h" #include "llvm/Testing/Support/Error.h" -#include "llvm/Testing/Support/SupportHelpers.h" #include "gmock/gmock.h" #include "gtest/gtest.h" @@ -48,41 +46,10 @@ getClangDocContext(std::vector<std::string> UserStylesheets = {}, return CDCtx; } -static void verifyFileContents(const Twine &Path, StringRef Contents) { - auto Buffer = MemoryBuffer::getFile(Path); - ASSERT_TRUE((bool)Buffer); - StringRef Data = Buffer.get()->getBuffer(); - ASSERT_EQ(Data, Contents); -} - TEST(HTMLMustacheGeneratorTest, createResources) { auto G = getHTMLMustacheGenerator(); ASSERT_THAT(G, NotNull()) << "Could not find HTMLMustacheGenerator"; ClangDocContext CDCtx = getClangDocContext(); EXPECT_THAT_ERROR(G->createResources(CDCtx), Failed()) << "Empty UserStylesheets or JsScripts should fail!"; - - unittest::TempDir RootTestDirectory("createResourcesTest", /*Unique=*/true); - CDCtx.OutDirectory = RootTestDirectory.path(); - - unittest::TempFile CSS("clang-doc-mustache", "css", "CSS"); - unittest::TempFile JS("mustache", "js", "JavaScript"); - - CDCtx.UserStylesheets[0] = CSS.path(); - CDCtx.JsScripts[0] = JS.path(); - - EXPECT_THAT_ERROR(G->createResources(CDCtx), Succeeded()) - << "Failed to create resources with valid UserStylesheets and JsScripts"; - { - SmallString<256> PathBuf; - llvm::sys::path::append(PathBuf, RootTestDirectory.path(), - "clang-doc-mustache.css"); - verifyFileContents(PathBuf, "CSS"); - } - - { - SmallString<256> PathBuf; - llvm::sys::path::append(PathBuf, RootTestDirectory.path(), "mustache.js"); - verifyFileContents(PathBuf, "JavaScript"); - } } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
