Beispiel #1
0
        public void GetFileLineReference_NUnitWithTwoInStatementsWithOneInsideDoubleQuotesCharacter_ReturnsExpectedFileName()
        {
            string            output  = " in \" at NunitFoo.MyTest.Test() in c:\\test\\Test.cs:line 11";
            FileLineReference lineRef = OutputTextLineParser.GetFileLineReference(output);

            Assert.AreEqual(@"c:\test\Test.cs", lineRef.FileName);
        }
        Task CreateTask(TestResult result)
        {
            TaskType          taskType = TaskType.Warning;
            FileLineReference lineRef  = null;
            string            message  = String.Empty;

            if (result.IsFailure)
            {
                taskType = TaskType.Error;
                lineRef  = OutputTextLineParser.GetNUnitOutputFileLineReference(result.StackTrace, true);
                message  = GetTestResultMessage(result, "${res:NUnitPad.NUnitPadContent.TestTreeView.TestFailedMessage}");
            }
            else if (result.IsIgnored)
            {
                message = GetTestResultMessage(result, "${res:NUnitPad.NUnitPadContent.TestTreeView.TestNotExecutedMessage}");
            }
            if (lineRef == null)
            {
                lineRef = FindTest(result.Name);
            }
            if (lineRef != null)
            {
                return(new Task(FileName.Create(lineRef.FileName),
                                message, lineRef.Column, lineRef.Line, taskType));
            }
            return(new Task(null, message, 0, 0, taskType));
        }
Beispiel #3
0
        void ExceptionViewDoubleClick(object sender, EventArgs e)
        {
            string fullText = exceptionView.Text;

            // Any text?
            if (fullText.Length > 0)
            {
                //int line = textEditorControl.ActiveTextAreaControl.Caret.Line;
                //string textLine = TextUtilities.GetLineAsString(textEditorControl.Document, line);
                Point clickPos = exceptionView.PointToClient(Control.MousePosition);
                int   index    = exceptionView.GetCharIndexFromPosition(clickPos);
                int   start    = index;
                // find start of current line
                while (--start > 0 && fullText[start - 1] != '\n')
                {
                    ;
                }
                // find end of current line
                while (++index < fullText.Length && fullText[index] != '\n')
                {
                    ;
                }

                string textLine = fullText.Substring(start, index - start);

                FileLineReference lineReference = OutputTextLineParser.GetFileLineReference(textLine);
                if (lineReference != null)
                {
                    // Open matching file.
                    FileService.JumpToFilePosition(lineReference.FileName, lineReference.Line, lineReference.Column);
                }
            }
        }
        public void CompilerFailure()
        {
            string            output  = "c:\\test\\NunitFoo\\NunitFoo.Tests\\FooTest.cs(22,10)";
            FileLineReference lineRef = OutputTextLineParser.GetFileLineReference(output);

            Assert.AreEqual(lineRef.FileName, "c:\\test\\NunitFoo\\NunitFoo.Tests\\FooTest.cs");
            Assert.AreEqual(21, lineRef.Line);
            Assert.AreEqual(9, lineRef.Column);
        }
        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);
        }
Beispiel #6
0
        public void GetFileLineReference_CompilerFailure_ReturnsExpectedFileLineReference()
        {
            string            output  = @"c:\test\NunitFoo\NunitFoo.Tests\FooTest.cs(22,10)";
            FileLineReference lineRef = OutputTextLineParser.GetFileLineReference(output);

            Assert.AreEqual(@"c:\test\NunitFoo\NunitFoo.Tests\FooTest.cs", lineRef.FileName);
            Assert.AreEqual(22, lineRef.Line);
            Assert.AreEqual(10, lineRef.Column);
        }
Beispiel #7
0
        public void GetNUnitOutputFileLineReference_MultilineNUnitOutputWithCarriageReturn_ReturnsExpectedFileLineReference()
        {
            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(@"c:\test\NunitFoo\NunitFoo.Tests\FooTest.cs", lineRef.FileName);
            Assert.AreEqual(22, lineRef.Line);
            Assert.AreEqual(0, lineRef.Column);
        }
        FilePosition ParseFilePositionFromStackTrace()
        {
            FileLineReference fileLineRef = OutputTextLineParser.GetNUnitOutputFileLineReference(StackTrace, true);

            if (fileLineRef != null)
            {
                return(CreateFilePosition(fileLineRef));
            }
            return(FilePosition.Empty);
        }
        protected override void OnStackTraceChanged()
        {
            FileLineReference fileLineRef = OutputTextLineParser.GetNUnitOutputFileLineReference(StackTrace, true);

            if (fileLineRef != null)
            {
                StackTraceFilePosition = CreateFilePosition(fileLineRef);
            }
            else
            {
                StackTraceFilePosition = DomRegion.Empty;
            }
        }