]> granicus.if.org Git - clang/commitdiff
[clang-format] Propagate inferred language to getLLVMStyle() in getPredefinedStyle()
authorJordan Rupprecht <rupprecht@google.com>
Wed, 13 Mar 2019 21:13:01 +0000 (21:13 +0000)
committerJordan Rupprecht <rupprecht@google.com>
Wed, 13 Mar 2019 21:13:01 +0000 (21:13 +0000)
rC355158 added an optional language parameter to getLLVMStyle(), but this parameter was not used in getPredefinedStyle(). Because unit tests directly specify the style, this codepath wasn't tested. Add an additional unit test for getStyle().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@356099 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/Format.cpp
unittests/Format/FormatTest.cpp

index ce67b82e10bd265d34140a97bd04f26b762c3e81..e73bcba7951d3e549bfe053abeabe52448c456d7 100644 (file)
@@ -961,7 +961,7 @@ FormatStyle getNoStyle() {
 bool getPredefinedStyle(StringRef Name, FormatStyle::LanguageKind Language,
                         FormatStyle *Style) {
   if (Name.equals_lower("llvm")) {
-    *Style = getLLVMStyle();
+    *Style = getLLVMStyle(Language);
   } else if (Name.equals_lower("chromium")) {
     *Style = getChromiumStyle(Language);
   } else if (Name.equals_lower("mozilla")) {
index 7fcff46f581fc66e8e5cc9d46467b6c93cfa947c..09c49b4408e495c633f4a8d2b997f302c84f4957 100644 (file)
@@ -12714,6 +12714,11 @@ TEST(FormatStyle, GetStyleOfFile) {
   auto Style7 = getStyle("file", "/d/.clang-format", "LLVM", "", &FS);
   ASSERT_FALSE((bool)Style7);
   llvm::consumeError(Style7.takeError());
+
+  // Test 8: inferred per-language defaults apply.
+  auto StyleTd = getStyle("file", "x.td", "llvm", "", &FS);
+  ASSERT_TRUE((bool)StyleTd);
+  ASSERT_EQ(*StyleTd, getLLVMStyle(FormatStyle::LK_TableGen));
 }
 
 TEST_F(ReplacementTest, FormatCodeAfterReplacements) {