summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Format/SortIncludesTest.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2015-12-21 12:14:17 +0000
committerDaniel Jasper <djasper@google.com>2015-12-21 12:14:17 +0000
commit0bfdeb4b6dee9df4f165a2524c0fa8588a28e9f8 (patch)
tree0d394ddb205f53b76c43b2778959199ccae2ea67 /clang/unittests/Format/SortIncludesTest.cpp
parentfde63cad6b7c179948377bf07e54f5809b0a832a (diff)
downloadbcm5719-llvm-0bfdeb4b6dee9df4f165a2524c0fa8588a28e9f8.tar.gz
bcm5719-llvm-0bfdeb4b6dee9df4f165a2524c0fa8588a28e9f8.zip
clang-format: Extend detection of the "main" #include to use the filename
Before, the first (non-system) header in a file was considered to be the main include. This is conservative as it makes clang-format change the #include order less often. Instead implement some basic usage of the filename itself. With this patch, clang-format considers every header to be a main include if the header file's basename is a prefix to the filename the #include is in. llvm-svn: 256148
Diffstat (limited to 'clang/unittests/Format/SortIncludesTest.cpp')
-rw-r--r--clang/unittests/Format/SortIncludesTest.cpp30
1 files changed, 25 insertions, 5 deletions
diff --git a/clang/unittests/Format/SortIncludesTest.cpp b/clang/unittests/Format/SortIncludesTest.cpp
index 9b0db349b04..ce83091b715 100644
--- a/clang/unittests/Format/SortIncludesTest.cpp
+++ b/clang/unittests/Format/SortIncludesTest.cpp
@@ -166,13 +166,21 @@ TEST_F(SortIncludesTest, LeavesMainHeaderFirst) {
"#include \"c.h\"\n",
sort("#include \"llvm/a.h\"\n"
"#include \"c.h\"\n"
- "#include \"b.h\"\n"));
+ "#include \"b.h\"\n",
+ "a.cc"));
EXPECT_EQ("#include \"llvm/a.h\"\n"
"#include \"b.h\"\n"
"#include \"c.h\"\n",
sort("#include \"llvm/a.h\"\n"
"#include \"c.h\"\n"
"#include \"b.h\"\n",
+ "a_main.cc"));
+ EXPECT_EQ("#include \"llvm/input.h\"\n"
+ "#include \"b.h\"\n"
+ "#include \"c.h\"\n",
+ sort("#include \"llvm/input.h\"\n"
+ "#include \"c.h\"\n"
+ "#include \"b.h\"\n",
"input.mm"));
// Don't do this in headers.
@@ -182,15 +190,27 @@ TEST_F(SortIncludesTest, LeavesMainHeaderFirst) {
sort("#include \"llvm/a.h\"\n"
"#include \"c.h\"\n"
"#include \"b.h\"\n",
- "some_header.h"));
+ "a.h"));
}
TEST_F(SortIncludesTest, NegativePriorities) {
Style.IncludeCategories = {{".*important_os_header.*", -1}, {".*", 1}};
EXPECT_EQ("#include \"important_os_header.h\"\n"
- "#include \"a.h\"\n",
- sort("#include \"a.h\"\n"
- "#include \"important_os_header.h\"\n"));
+ "#include \"c_main.h\"\n"
+ "#include \"a_other.h\"\n",
+ sort("#include \"c_main.h\"\n"
+ "#include \"a_other.h\"\n"
+ "#include \"important_os_header.h\"\n",
+ "c_main.cc"));
+
+ // check stable when re-run
+ EXPECT_EQ("#include \"important_os_header.h\"\n"
+ "#include \"c_main.h\"\n"
+ "#include \"a_other.h\"\n",
+ sort("#include \"important_os_header.h\"\n"
+ "#include \"c_main.h\"\n"
+ "#include \"a_other.h\"\n",
+ "c_main.cc"));
}
TEST_F(SortIncludesTest, CalculatesCorrectCursorPosition) {
OpenPOWER on IntegriCloud