[clang-format] Fix style of css file paths
authorDiego Astiazaran <diegoaat97@gmail.com>
Fri, 26 Jul 2019 18:02:42 +0000 (18:02 +0000)
committerDiego Astiazaran <diegoaat97@gmail.com>
Fri, 26 Jul 2019 18:02:42 +0000 (18:02 +0000)
CSS files included in HTML should have a path in posix style, it should
not be different for Windows.

Differential Revision: https://reviews.llvm.org/D65309

llvm-svn: 367137

clang-tools-extra/clang-doc/HTMLGenerator.cpp
clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp

index 56ed976..50660ff 100644 (file)
@@ -231,6 +231,8 @@ genStylesheetsHTML(StringRef InfoPath, const ClangDocContext &CDCtx) {
     SmallString<128> StylesheetPath = computeRelativePath("", InfoPath);
     llvm::sys::path::append(StylesheetPath,
                             llvm::sys::path::filename(FilePath));
+    // Paths in HTML must be in posix-style
+    llvm::sys::path::native(StylesheetPath, llvm::sys::path::Style::posix);
     LinkNode->Attributes.try_emplace("href", StylesheetPath);
     Out.emplace_back(std::move(LinkNode));
   }
index 81fcdb1..454ab7d 100644 (file)
@@ -110,34 +110,23 @@ TEST(HTMLGeneratorTest, emitRecordHTML) {
   ClangDocContext CDCtx = getClangDocContext();
   auto Err = G->generateDocForInfo(&I, Actual, CDCtx);
   assert(!Err);
-  SmallString<16> PathToF;
-  llvm::sys::path::native("../../../path/to/F.html", PathToF);
-  SmallString<16> PathToInt;
-  llvm::sys::path::native("../int.html", PathToInt);
-  SmallString<16> PathToSylesheet;
-  llvm::sys::path::native("../../../clang-doc-default-stylesheet.css",
-                          PathToSylesheet);
   std::string Expected = R"raw(<!DOCTYPE html>
 <meta charset="utf-8"/>
 <title>class r</title>
-<link rel="stylesheet" href=")raw" +
-                         std::string(PathToSylesheet.str()) +
-                         R"raw("/>
+<link rel="stylesheet" href="../../../clang-doc-default-stylesheet.css"/>
 <div>
   <h1>class r</h1>
   <p>Defined at line 10 of test.cpp</p>
   <p>
     Inherits from 
-    <a href=")raw" + std::string(PathToF.str()) +
-                         R"raw(">F</a>
+    <a href="../../../path/to/F.html">F</a>
     , G
   </p>
   <h2>Members</h2>
   <ul>
     <li>
       private 
-      <a href=")raw" + std::string(PathToInt.str()) +
-                         R"raw(">int</a>
+      <a href="../int.html">int</a>
        X
     </li>
   </ul>