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

Reply via email to