[clang-tools-extra] [clang-doc] fix CSS, JS paths for HTML Mustache generation (PR #160360)
Erick Velez via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 23 13:18:09 PDT 2025
https://github.com/evelez7 updated https://github.com/llvm/llvm-project/pull/160360
>From 6e0207f6da15789c15a3f48f77b14c7e73f20db3 Mon Sep 17 00:00:00 2001
From: Erick Velez <erickvelez7 at gmail.com>
Date: Tue, 23 Sep 2025 13:16:44 -0700
Subject: [PATCH] keep HTML Mustache unit test
---
.../clang-doc/HTMLMustacheGenerator.cpp | 5 +--
.../clang-doc/HTMLMustacheGeneratorTest.cpp | 33 -------------------
2 files changed, 3 insertions(+), 35 deletions(-)
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");
- }
}
More information about the cfe-commits
mailing list