/// <summary> /// Builds a new instance of SourceCodeDisplay. /// </summary> public SourceCodeDisplay() { ErrorList errorList = new ErrorList(); _codeBox = new CodeBox(); _stacktraceView = errorList; _stacktraceView.AutoSelectFirstItem = true; _stacktraceView.SelectedItemChanged += new EventHandler(SelectedItemChanged); _codeView = _codeBox; _btnPlugin = ErrorToolbar.NewStripButton(true, "Display source code context", Resources.ImageSourceCodeDisplay, null); _btnSwap = ErrorToolbar.NewStripButton(false, "ReverseOrder item order", Resources.ImageReverseItemOrder, OnClick); SplitterBox splitter = new SplitterBox(); _splitter = splitter; _splitter.SplitterDistanceChanged += new EventHandler(_splitter_DistanceChanged); _splitter.OrientationChanged += new EventHandler(_splitter_OrientationChanged); splitter.Control1 = errorList; splitter.Control2 = _codeBox; _codeBox.ShowCurrentLine = true; return; }
public void SetUp() { _empty = new ErrorList(); _filled = new ErrorList(); _filled.StackTrace = "à SomeClass.SomeMethod() dans C:\\folder\\file1.cs:ligne 20\r\n" + "à ExternClass.ExternMethod()\r\n" + "à AnotherExternClass.AnotherExternMethod()\r\n" + "à SomeClass2.SomeMethod2() dans C:\\folder\\file2.cs:ligne 42\r\n" + "à SomeClass3.SomeMethod3() dans C:\\folder\\AnotherFile2.cs:ligne 93\r\n"; _renderer = new DefaultErrorListRenderer(); Image img = new Bitmap(300, 100); _gr = Graphics.FromImage(img); return; }
public void CanReportInvalidItems() { ErrorList list = new ErrorList(); // feeding ErrorList with garbage details should make it // fail gracefully. list.StackTrace = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\r\n" + "Nam at nisi ut neque sollicitudin ultrices. Sed rhoncus\r\n" + "rhoncus arcu. Morbi eu elit ut augue congue luctus. Nullam\r\n" + "eu eros. Nunc blandit varius orci. Mauris condimentum diam\r\n" + "ac ligula. Nullam ut metus. Maecenas sagittis nibh in nisl.\r\n" + "Phasellus rhoncus diam a nulla. Integer vestibulum.\r\n"; Assert.That(list.Items.Count, Is.EqualTo(1)); Assert.That(list.Items[0].BaseMethodName, Is.EqualTo("Fail to parse stack trace")); Assert.IsFalse(list.Items[0].HasSourceAttachment); return; }
public void ListOrderPolicy() { ErrorList list = new ErrorList(); // Check ListOrderPolicy behavior when AutoSelectFirstItem is not set list.AutoSelectFirstItem = false; list.ListOrderPolicy = ErrorListOrderPolicy.ReverseOrder; Assert.That(list.ListOrderPolicy, Is.EqualTo(ErrorListOrderPolicy.ReverseOrder)); list.StackTrace = _trace1; Assert.That(list.Items[0].LineNumber, Is.EqualTo(93)); Assert.That(list.Items[1].LineNumber, Is.EqualTo(42)); Assert.That(list.Items[2].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[3].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[4].LineNumber, Is.EqualTo(20)); list.StackTrace = _trace2; Assert.That(list.Items[0].LineNumber, Is.EqualTo(42)); Assert.That(list.Items[1].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[2].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[3].LineNumber, Is.EqualTo(20)); list.ListOrderPolicy = ErrorListOrderPolicy.InitialOrder; Assert.That(list.ListOrderPolicy, Is.EqualTo(ErrorListOrderPolicy.InitialOrder)); Assert.That(list.Items[0].LineNumber, Is.EqualTo(20)); Assert.That(list.Items[1].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[2].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[3].LineNumber, Is.EqualTo(42)); list.StackTrace = _trace1; Assert.That(list.Items[0].LineNumber, Is.EqualTo(20)); Assert.That(list.Items[1].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[2].LineNumber, Is.EqualTo(0)); Assert.That(list.Items[3].LineNumber, Is.EqualTo(42)); Assert.That(list.Items[4].LineNumber, Is.EqualTo(93)); // When the AutoSelectFirstItem flag is set, the selected item // is the one the most on top of the list, with source attachment. // Where the most on top depends whether the order is kept unchanged // or reversed. list.AutoSelectFirstItem = true; list.ListOrderPolicy = ErrorListOrderPolicy.InitialOrder; list.StackTrace = _trace1; Assert.That(list.SelectedItem.LineNumber, Is.EqualTo(20)); list.ListOrderPolicy = ErrorListOrderPolicy.ReverseOrder; list.StackTrace = _trace1; Assert.That(list.SelectedItem.LineNumber, Is.EqualTo(93)); return; }