diff options
author | Jonathan Coe <jbcoe@google.com> | 2020-04-28 17:35:33 +0100 |
---|---|---|
committer | Jonathan Coe <jbcoe@google.com> | 2020-04-28 17:35:33 +0100 |
commit | 015bca3e67cbb88f74f01fb5ae4e46392bec6416 (patch) | |
tree | eaa371c604dbb3bc8b8e924cf330794a650103ec /clang/unittests/Format/FormatTestCSharp.cpp | |
parent | 7443f86eabbae0fdef90fe796c3956ed65238e99 (diff) | |
download | llvm-015bca3e67cbb88f74f01fb5ae4e46392bec6416.zip llvm-015bca3e67cbb88f74f01fb5ae4e46392bec6416.tar.gz llvm-015bca3e67cbb88f74f01fb5ae4e46392bec6416.tar.bz2 |
[clang-format] C# property formatting can be controlled by config options
Summary:
Allow brace wrapping in C# property accessors to be controlled by configuration options.
Add new tests and revert old test results for MS style to their old state (as intended).
`FormatStyle.BraceWrapping.AfterFunction = true;` will change automatic property formatting from
```
Type MyType { get; set }
```
to
```
Type MyType
{ get; set }
```
Reviewers: krasimir, MyDeveloperDay
Subscribers: cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D79000
Diffstat (limited to 'clang/unittests/Format/FormatTestCSharp.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTestCSharp.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/clang/unittests/Format/FormatTestCSharp.cpp b/clang/unittests/Format/FormatTestCSharp.cpp index 91962ef..550f5b4 100644 --- a/clang/unittests/Format/FormatTestCSharp.cpp +++ b/clang/unittests/Format/FormatTestCSharp.cpp @@ -245,11 +245,13 @@ TEST_F(FormatTestCSharp, Attributes) { "}"); verifyFormat("[TestMethod]\n" - "public string Host { set; get; }"); + "public string Host\n" + "{ set; get; }"); verifyFormat("[TestMethod(\"start\", HelpText = \"Starts the server " "listening on provided host\")]\n" - "public string Host { set; get; }"); + "public string Host\n" + "{ set; get; }"); verifyFormat( "[DllImport(\"Hello\", EntryPoint = \"hello_world\")]\n" @@ -671,6 +673,32 @@ class MyClass { DefaultThirdArgument); })", Style); + + // Brace wrapping and single-lining of accessor can be controlled by config. + Style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never; + Style.BreakBeforeBraces = FormatStyle::BS_Custom; + Style.BraceWrapping.AfterFunction = true; + + verifyFormat(R"(// +public class SaleItem { + public decimal Price + { get; set; } +})", + Style); + + verifyFormat(R"(// +class TimePeriod { + public double Hours + { + get { + return _seconds / 3600; + } + set { + _seconds = value * 3600; + } + } +})", + Style); } TEST_F(FormatTestCSharp, CSharpSpaces) { |