================ @@ -28427,6 +28427,136 @@ TEST_F(FormatTest, ShortNamespacesOption) { Style); } +TEST_F(FormatTest, WrapNamespaceBodyWithEmptyLinesNever) { + auto Style = getLLVMStyle(); + Style.FixNamespaceComments = false; + Style.WrapNamespaceBodyWithEmptyLines = FormatStyle::WNBWELS_Never; + + // Empty namespace. + verifyFormat("namespace N {}", Style); + + // Single namespace. + verifyFormat("namespace N {\n" + "int f1(int a) { return 2 * a; }\n" + "}", + Style); + + // Nested namespace. + verifyFormat("namespace N1 {\n" + "namespace N2 {\n" + "int a = 1;\n" + "}\n" + "}", + Style); + + Style.CompactNamespaces = true; + + verifyFormat("namespace N1 { namespace N2 {\n" + "int a = 1;\n" + "}}", + Style); + + // Removing empty lines. + verifyFormat("namespace N {\n" + "int a = 1;\n" + "}", + "namespace N {\n" + "\n" + "\n" + "int a = 1;\n" + "\n" + "\n" + "}", + Style); + + Style.MaxEmptyLinesToKeep = 0; + + verifyFormat("namespace N {\n" + "int a = 1;\n" + "}", + "namespace N {\n" + "\n" + "\n" + "int a = 1;\n" + "\n" + "\n" + "}", + Style); ---------------- owenca wrote:
```suggestion Style.FixNamespaceComments = false; Style.MaxEmptyLinesToKeep = 2; Style.WrapNamespaceBodyWithEmptyLines = FormatStyle::WNBWELS_Never; // Empty namespace. verifyFormat("namespace N {}", Style); // Single namespace. verifyFormat("namespace N {\n" "int f1(int a) { return 2 * a; }\n" "}", "namespace N {\n" "\n" "\n" "int f1(int a) { return 2 * a; }\n" "\n" "\n" "}", Style); // Nested namespace. verifyFormat("namespace N1 {\n" "namespace N2 {\n" "int a = 1;\n" "}\n" "}", "namespace N1 {\n" "\n" "\n" "namespace N2 {\n" "\n" "int a = 1;\n" "\n" "}\n" "\n" "\n" "}", Style); Style.CompactNamespaces = true; verifyFormat("namespace N1 { namespace N2 {\n" "int a = 1;\n" "}}", "namespace N1 { namespace N2 {\n" "\n" "\n" "int a = 1;\n" "\n" "\n" "}}", Style); ``` To increase coverage while reducing the number of test cases. https://github.com/llvm/llvm-project/pull/106145 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits