diff --git a/src/Libraries/NRefactory/NRefactory.sln b/src/Libraries/NRefactory/NRefactory.sln index dea9866794..35575343b3 100644 --- a/src/Libraries/NRefactory/NRefactory.sln +++ b/src/Libraries/NRefactory/NRefactory.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# SharpDevelop 2.0.0.277 +# SharpDevelop 2.0.0.9999 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs index 8afecad111..ff93b90569 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs @@ -228,7 +228,7 @@ namespace ICSharpCode.NRefactory.Parser.VB return sb.ToString(); } - if (peek != -1 && "%&@!#$".IndexOf((char)peek) != -1) { + if ("%&@!#$".IndexOf((char)peek) != -1) { ReaderRead(); } return sb.ToString(); diff --git a/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs b/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs index f555948686..818eb7c444 100644 --- a/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs +++ b/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs @@ -78,6 +78,7 @@ namespace ICSharpCode.NRefactory.Tests.Lexer.CSharp t = l.NextToken(); Assert.AreEqual(new Point(9, 1), t.Location); } + [Test] public void TestFloationPointNumber() { ILexer l = GenerateLexer("0.142 public"); @@ -86,22 +87,24 @@ namespace ICSharpCode.NRefactory.Tests.Lexer.CSharp t = l.NextToken(); Assert.AreEqual(new Point(7, 1), t.Location); } - public void TestVerbatimString() - { - ILexer l = GenerateLexer("@\"a\"\"a\" public"); - Token t = l.NextToken(); - Assert.AreEqual(new Point(1, 1), t.Location); - t = l.NextToken(); - Assert.AreEqual(new Point(9, 1), t.Location); - } - public void TestNoFloationPointNumber() - { - ILexer l = GenerateLexer("0.a"); - Token t = l.NextToken(); - Assert.AreEqual(new Point(1, 1), t.Location); - t = l.NextToken(); - Assert.AreEqual(new Point(3, 1), t.Location); - } +// [Test] +// public void TestVerbatimString() +// { +// ILexer l = GenerateLexer("@\"a\"\"a\" public"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(9, 1), t.Location); +// } +// [Test] +// public void TestNoFloationPointNumber() +// { +// ILexer l = GenerateLexer("0.a"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(3, 1), t.Location); +// } [Test] public void TestNumber() { diff --git a/src/Libraries/NRefactory/Test/Lexer/VBNet/LexerPositionTests.cs b/src/Libraries/NRefactory/Test/Lexer/VBNet/LexerPositionTests.cs new file mode 100644 index 0000000000..e0b69166d5 --- /dev/null +++ b/src/Libraries/NRefactory/Test/Lexer/VBNet/LexerPositionTests.cs @@ -0,0 +1,125 @@ +// +// 2002-2005 AlphaSierraPapa +// GNU General Public License +// +// $Revision: 230 $ +// + +using System; +using System.Drawing; +using System.IO; +using NUnit.Framework; +using ICSharpCode.NRefactory.Parser; +using ICSharpCode.NRefactory.Parser.CSharp; +using ICSharpCode.NRefactory.PrettyPrinter; + +namespace ICSharpCode.NRefactory.Tests.Lexer.VB +{ + [TestFixture] + public class LexerPositionTests + { + ILexer GenerateLexer(string s) + { + return ParserFactory.CreateLexer(SupportedLanguages.VBNet, new StringReader(s)); + } + + [Test] + public void Test1() + { + ILexer l = GenerateLexer("public"); + Token t = l.NextToken(); + Assert.AreEqual(new Point(1, 1), t.Location); + } + [Test] + public void Test2() + { + ILexer l = GenerateLexer("public static"); + Token t = l.NextToken(); + t = l.NextToken(); + Assert.AreEqual(new Point(8, 1), t.Location); + } +// [Test] +// public void TestReturn() +// { +// ILexer l = GenerateLexer("public\nstatic"); +// Token t = l.NextToken(); +// t = l.NextToken(); +// Assert.AreEqual(new Point(1, 2), t.Location); +// } + [Test] + public void TestSpace() + { + ILexer l = GenerateLexer(" public"); + Token t = l.NextToken(); + Assert.AreEqual(new Point(3, 1), t.Location); + } +// [Test] +// public void TestOctNumber() +// { +// ILexer l = GenerateLexer("0142"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// } +// [Test] +// public void TestHexNumber() +// { +// ILexer l = GenerateLexer("0x142 public"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(7, 1), t.Location); +// } +// [Test] +// public void TestHexNumberChar() +// { +// ILexer l = GenerateLexer("\'\\x224\' public"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(9, 1), t.Location); +// } +// [Test] +// public void TestFloationPointNumber() +// { +// ILexer l = GenerateLexer("0.142 public"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(7, 1), t.Location); +// } +// [Test] +// public void TestVerbatimString() +// { +// ILexer l = GenerateLexer("@\"a\"\"a\" public"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(9, 1), t.Location); +// } +// [Test] +// public void TestNoFloationPointNumber() +// { +// ILexer l = GenerateLexer("0.a"); +// Token t = l.NextToken(); +// Assert.AreEqual(new Point(1, 1), t.Location); +// t = l.NextToken(); +// Assert.AreEqual(new Point(3, 1), t.Location); +// } +// [Test] +// public void TestNumber() +// { +// ILexer l = GenerateLexer("142\nstatic"); +// Token t = l.NextToken(); +// t = l.NextToken(); +// Assert.AreEqual(new Point(1, 2), t.Location); +// } + [Test] + public void TestNumber2() + { + ILexer l = GenerateLexer("14 static"); + Token t = l.NextToken(); + t = l.NextToken(); + Assert.AreEqual(new Point(4, 1), t.Location); + } + } +} diff --git a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj index d408f1890e..fa733135db 100644 --- a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj +++ b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj @@ -133,6 +133,7 @@ +