1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using System.Collections.Generic;
8
using ICSharpCode.NRefactory.VB.Ast;
9
using ICSharpCode.NRefactory.VB.Parser;
10
using ICSharpCode.NRefactory.VB.PrettyPrinter;
12
using NUnit.Framework;
14
namespace ICSharpCode.NRefactory.VB.Tests.PrettyPrinter
17
public class SpecialOutputVisitorTest
19
void TestProgram(string program)
21
VBParser parser = ParserFactory.CreateParser(new StringReader(program));
23
Assert.AreEqual("", parser.Errors.ErrorOutput);
24
VBNetOutputVisitor outputVisitor = new VBNetOutputVisitor();
25
outputVisitor.Options.IndentationChar = ' ';
26
outputVisitor.Options.TabSize = 2;
27
outputVisitor.Options.IndentSize = 2;
28
using (SpecialNodesInserter.Install(parser.Lexer.SpecialTracker.RetrieveSpecials(),
30
outputVisitor.VisitCompilationUnit(parser.CompilationUnit, null);
32
Assert.AreEqual("", outputVisitor.Errors.ErrorOutput);
33
Assert.AreEqual(program.Replace("\r", ""), outputVisitor.Text.TrimEnd().Replace("\r", ""));
40
TestProgram("Enum Test\n" +
51
public void CommentsInsideMethod()
53
TestProgram(@"Public Class Class1
54
Private Function test(l As Integer, lvw As Integer) As Boolean
64
public void BlankLines()
66
TestProgram("Imports System\n" +
69
TestProgram("Imports System\n" +