================
@@ -4504,6 +4504,16 @@ TEST_F(FormatTest, FormatsCompactNamespaces) {
                "} // namespace bbbbbb\n"
                "} // namespace aaaaaa",
                Style);
+
+  verifyFormat("namespace a { namespace b { namespace c {\n"
+               "}}} // namespace a::b::c",
+               Style);
+
+  verifyFormat("namespace a { namespace b {\n"
+               "namespace cc {\n"
+               "}}} // namespace a::b::cc",
----------------
owenca wrote:

I agree, but in this particular case the bug occurs when the length is over the 
column limit, not when it's within the limit?

The following test case for `ColumnLimit: 41`:
```
namespace a { namespace b { namespace cc {
}}} // namespace a::b::cc
```
is equivalent to the test case below with `ColumnLimit: 40`:
```
namespace a { namespace b { namespace c {
}}} // namespace a::b::c
```

If you want to test that your fix doesn't break the existing behavior when the 
length is at the limit, I suggest that you reuse the existing test case:
```cpp
   verifyFormat("namespace out {\n"
                "int i;\n"
                "namespace in {\n"
                "int j;\n"
                "} // namespace in\n"
                "int k;\n"
                "} // namespace out",
                "namespace out { int i;\n"
                "namespace in { int j; } // namespace in\n"
                "int k; } // namespace out",
                Style);
 
+  Style.ColumnLimit = 41;
   verifyFormat("namespace A { namespace B { namespace C {\n"
                "}}} // namespace A::B::C",
                "namespace A { namespace B {\n"
                "namespace C {\n"
                "}} // namespace B::C\n"
                "} // namespace A",
                Style);
 
   Style.ColumnLimit = 40;
   verifyFormat("namespace aaaaaaaaaa {\n"
                "namespace bbbbbbbbbb {\n"
                "}} // namespace aaaaaaaaaa::bbbbbbbbbb",
                "namespace aaaaaaaaaa {\n"
                "namespace bbbbbbbbbb {\n"
                "} // namespace bbbbbbbbbb\n"
                "} // namespace aaaaaaaaaa",
                Style);
```
FormatTest.cpp is 28K+ lines long and still growing. It should be broken up 
into multiple files. Until then, I prefer that we don't add nice-to-have new 
tests that aren't absolutely related to the pull request.

https://github.com/llvm/llvm-project/pull/105597
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to