diff --git a/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/OutputTextLineParser.cs b/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/OutputTextLineParser.cs
index 861de5897e..2a4f202121 100644
--- a/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/OutputTextLineParser.cs
+++ b/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/OutputTextLineParser.cs
@@ -76,7 +76,7 @@ namespace ICSharpCode.SharpDevelop.Gui
RegexOptions regexOptions = multiline ? RegexOptions.Multiline : RegexOptions.None;
if (lineText != null) {
- Match match = Regex.Match(lineText, @"^.*?\sin\s(.*?):line\s(\d*)?$", regexOptions);
+ Match match = Regex.Match(lineText, @"^.*?\sin\s(.*?):line\s(\d*)?\r?$", regexOptions);
if (match.Success) {
try {
diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
index 647e94568d..779f58d2c9 100644
--- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
+++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
@@ -67,6 +67,7 @@
+
diff --git a/src/Main/Base/Test/OutputTextLineParserTestFixture.cs b/src/Main/Base/Test/OutputTextLineParserTestFixture.cs
new file mode 100644
index 0000000000..859199d081
--- /dev/null
+++ b/src/Main/Base/Test/OutputTextLineParserTestFixture.cs
@@ -0,0 +1,38 @@
+//
+//
+//
+//
+// $Revision$
+//
+
+using ICSharpCode.SharpDevelop.Gui;
+using NUnit.Framework;
+using System;
+
+namespace ICSharpCode.SharpDevelop.Tests
+{
+ [TestFixture]
+ public class NUnitOutputParserTestFixture
+ {
+ [Test]
+ public void Multiline()
+ {
+ string output = " at NunitFoo.Tests.FooTest.Foo() in c:\\test\\NunitFoo\\NunitFoo.Tests\\FooTest.cs:line 22\n";
+ FileLineReference lineRef = OutputTextLineParser.GetNUnitOutputFileLineReference(output, true);
+ Assert.AreEqual(lineRef.FileName, "c:\\test\\NunitFoo\\NunitFoo.Tests\\FooTest.cs");
+ Assert.AreEqual(21, lineRef.Line);
+ Assert.AreEqual(0, lineRef.Column);
+ }
+
+ [Test]
+ public void MultilineWithCarriageReturn()
+ {
+ string output = " at NunitFoo.Tests.FooTest.Foo() in c:\\test\\NunitFoo\\NunitFoo.Tests\\FooTest.cs:line 22\r\n";
+ FileLineReference lineRef = OutputTextLineParser.GetNUnitOutputFileLineReference(output, true);
+ Assert.AreEqual(lineRef.FileName, "c:\\test\\NunitFoo\\NunitFoo.Tests\\FooTest.cs");
+ Assert.AreEqual(21, lineRef.Line);
+ Assert.AreEqual(0, lineRef.Column);
+ }
+
+ }
+}