610
611
}", data.Document.Text);
615
public void TestUsingAlignment ()
617
TextEditorData data = new TextEditorData ();
618
data.Document.FileName = "a.cs";
619
data.Document.Text = @"class Test {
622
using (var p = new MyObj())
623
using (var o = new MyObj()) {
628
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
629
policy.AlignEmbeddedUsingStatements = true;
630
policy.ClassBraceStyle = BraceStyle.EndOfLine;
631
var compilationUnit = new CSharpParser ().Parse (data);
632
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
633
Assert.AreEqual (@"class Test {
636
using (var p = new MyObj())
637
using (var o = new MyObj()) {
640
}", data.Document.Text);
641
policy.AlignEmbeddedUsingStatements = false;
642
compilationUnit = new CSharpParser ().Parse (data);
643
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
644
Assert.AreEqual (@"class Test {
647
using (var p = new MyObj())
648
using (var o = new MyObj()) {
651
}", data.Document.Text);
615
655
public void TestVariableDeclarationIndentation ()
1071
1129
policy.StatementBraceStyle = BraceStyle.NextLine;
1072
1130
policy.IfElseBraceForcement = BraceForcement.RemoveBraces;
1073
CSharp.Dom.CompilationUnit compilationUnit = new CSharpParser ().Parse (data);
1074
compilationUnit.AcceptVisitor (new DomIndentationVisitor (policy, data), null);
1076
Console.WriteLine (data.Document.Text);
1078
Assert.AreEqual (@"class Test
1131
var compilationUnit = new CSharpParser ().Parse (data);
1132
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1134
Assert.AreEqual (@"class Test
1146
}", data.Document.Text);
1150
public void TestIfAlignment ()
1152
TextEditorData data = new TextEditorData ();
1153
data.Document.FileName = "a.cs";
1154
data.Document.Text = @"class Test {
1163
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
1164
policy.AlignEmbeddedIfStatements = true;
1165
policy.ClassBraceStyle = BraceStyle.EndOfLine;
1166
var compilationUnit = new CSharpParser ().Parse (data);
1167
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1168
Assert.AreEqual (@"class Test {
1175
}", data.Document.Text);
1176
policy.AlignEmbeddedIfStatements = false;
1177
compilationUnit = new CSharpParser ().Parse (data);
1178
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1179
Assert.AreEqual (@"class Test {
1186
}", data.Document.Text);
1191
public void TestIfForcementAdd ()
1193
TextEditorData data = new TextEditorData ();
1194
data.Document.FileName = "a.cs";
1195
data.Document.Text = @"class Test
1204
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
1206
policy.StatementBraceStyle = BraceStyle.EndOfLine;
1207
policy.IfElseBraceForcement = BraceForcement.AddBraces;
1208
var compilationUnit = new CSharpParser ().Parse (data);
1209
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1210
Assert.AreEqual (@"class Test
1218
}", data.Document.Text);
1221
static void TestErrors (CSharpParser parser)
1223
foreach (var error in parser.ErrorReportPrinter.Errors) {
1224
Console.WriteLine (error.Message);
1226
Assert.AreEqual (0, parser.ErrorReportPrinter.ErrorsCount);
1230
public void TestIfForcementWithComment ()
1232
TextEditorData data = new TextEditorData ();
1233
data.Document.FileName = "a.cs";
1234
data.Document.Text = @"class Test
1238
if (true) // TestComment
1243
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
1245
policy.StatementBraceStyle = BraceStyle.EndOfLine;
1246
policy.IfElseBraceForcement = BraceForcement.AddBraces;
1247
CSharpParser parser = new CSharpParser ();
1248
var compilationUnit = parser.Parse (data);
1249
TestErrors (parser);
1250
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1251
Assert.AreEqual (@"class Test
1260
}", data.Document.Text);
1264
public void TestIfElseForcementAdd ()
1266
TextEditorData data = new TextEditorData ();
1267
data.Document.FileName = "a.cs";
1268
data.Document.Text = @"class Test
1279
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
1281
policy.StatementBraceStyle = BraceStyle.EndOfLine;
1282
policy.IfElseBraceForcement = BraceForcement.AddBraces;
1283
var compilationUnit = new CSharpParser ().Parse (data);
1284
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1285
Assert.AreEqual (@"class Test
1295
}", data.Document.Text);
1299
public void TestIfElseIFForcementAdd ()
1301
TextEditorData data = new TextEditorData ();
1302
data.Document.FileName = "a.cs";
1303
data.Document.Text = @"class Test
1314
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
1316
policy.StatementBraceStyle = BraceStyle.EndOfLine;
1317
policy.IfElseBraceForcement = BraceForcement.AddBraces;
1318
var compilationUnit = new CSharpParser ().Parse (data);
1319
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1320
Assert.AreEqual (@"class Test
1090
1330
}", data.Document.Text);
1202
1438
}", data.Document.Text);
1442
public void TestSimpleIfElseComment ()
1444
TextEditorData data = new TextEditorData ();
1445
data.Document.FileName = "a.cs";
1446
data.Document.Text = @"class Test
1450
if (true) Call (); else Call ();
1454
CSharpFormattingPolicy policy = new CSharpFormattingPolicy ();
1456
policy.StatementBraceStyle = BraceStyle.EndOfLine;
1457
policy.PlaceElseIfOnNewLine = false; // for simple statements it must be new line.
1458
var compilationUnit = new CSharpParser ().Parse (data);
1459
compilationUnit.AcceptVisitor (new AstFormattingVisitor (policy, data), null);
1460
Assert.AreEqual (@"class Test
1469
}", data.Document.Text);
1207
1473
public void TestWhileForcementRemove ()