protected void OnShowTest() { UnitTest test = GetSelectedTest(); if (test == null) { return; } SourceCodeLocation loc = null; UnitTestResult res = test.GetLastResult(); if (res != null && res.IsFailure) { loc = res.GetFailureLocation(); } if (loc == null) { loc = test.SourceCodeLocation; } if (loc != null) { IdeApp.Workbench.OpenDocument(loc.FileName, null, loc.Line, loc.Column); } else { LoggingService.LogError("Can't get source code location for test : " + test); MessageService.ShowError(GettextCatalog.GetString("Can't get source code location for : {0}", test.Name)); } }
protected void OnUpdateCopy(CommandInfo info) { UnitTest test = GetSelectedTest(); if (test != null) { var last = test.GetLastResult(); Gtk.TreeModel foo; Gtk.TreeIter iter; if (!failuresTreeView.Selection.GetSelected(out foo, out iter)) { info.Enabled = false; return; } int type = (int)failuresStore.GetValue(iter, 5); switch (type) { case ErrorMessage: info.Enabled = !string.IsNullOrEmpty(last.Message); return; case StackTrace: default: info.Enabled = !string.IsNullOrEmpty(last.StackTrace); return; } } info.Enabled = error != null; }
/* public override void GetNodeAttributes (ITreeNavigator parentNode, object dataObject, ref NodeAttributes attributes) * { * attributes |= NodeAttributes.UseMarkup; * } */ public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { UnitTest test = dataObject as UnitTest; nodeInfo.Icon = test.StatusIcon; var singleTestSuffix = String.Empty; if (test is UnitTestGroup unitTestGroup) { singleTestSuffix = GetSuffix(unitTestGroup, treeBuilder.Options ["CombineTestNamespaces"]); } var title = RemoveGenericArgument(test.Title); title = test.Title + singleTestSuffix; if (!string.IsNullOrEmpty(test.ErrorMessage)) { nodeInfo.Label = Ambience.EscapeText(title); nodeInfo.StatusMessage = test.ErrorMessage; nodeInfo.StatusSeverity = Ide.Tasks.TaskSeverity.Error; return; } if (test.Status == TestStatus.Running) { nodeInfo.Label = Ambience.EscapeText(title); return; } else if (test.Status == TestStatus.Loading) { nodeInfo.Label = Ambience.EscapeText(title) + GettextCatalog.GetString(" (Loading)"); return; } else if (test.Status == TestStatus.LoadError) { nodeInfo.Label = Ambience.EscapeText(title) + GettextCatalog.GetString(" (Load failed)"); return; } else { nodeInfo.Label = Ambience.EscapeText(title); UnitTestResult res = test.GetLastResult(); if (res != null && treeBuilder.Options ["ShowTestCounters"] && (test is UnitTestGroup)) { nodeInfo.Label += string.Format(GettextCatalog.GetString(" ({0} passed, {1} failed, {2} not run)"), res.Passed, res.ErrorsAndFailures, res.TestsNotRun); } if (treeBuilder.Options ["ShowTestTime"]) { nodeInfo.Label += string.Format(" Time: {0}ms", res.Time.TotalMilliseconds); } } }
bool IsGoToFailureEnabled(UnitTest test) { if (test.SourceCodeLocation == null || test is UnitTestGroup) { return(false); } UnitTestResult res = test.GetLastResult(); return(res != null && res.IsFailure); }
protected async void OnShowFailure() { UnitTest test = CurrentNode.DataItem as UnitTest; SourceCodeLocation loc = null; UnitTestResult res = test.GetLastResult(); if (res != null && res.IsFailure) { loc = res.GetFailureLocation(); } if (loc == null) { loc = test.SourceCodeLocation; } if (loc != null) { await IdeApp.Workbench.OpenDocument(loc.FileName, loc.Line, loc.Column); } }
/* public override void GetNodeAttributes (ITreeNavigator parentNode, object dataObject, ref NodeAttributes attributes) * { * attributes |= NodeAttributes.UseMarkup; * } */ public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { UnitTest test = dataObject as UnitTest; nodeInfo.Icon = test.StatusIcon; var title = RemoveGenericArgument(test.Title); title = test.Title; if (test.Status == TestStatus.Running) { nodeInfo.Label = Ambience.EscapeText(title); return; } else if (test.Status == TestStatus.Loading) { nodeInfo.Label = Ambience.EscapeText(title) + GettextCatalog.GetString(" (Loading)"); return; } else if (test.Status == TestStatus.LoadError) { nodeInfo.Label = Ambience.EscapeText(title) + GettextCatalog.GetString(" (Load failed)"); return; } else { nodeInfo.Label = Ambience.EscapeText(title); UnitTestResult res = test.GetLastResult(); if (res != null && treeBuilder.Options ["ShowTestCounters"] && (test is UnitTestGroup)) { nodeInfo.Label += string.Format(GettextCatalog.GetString(" ({0} passed, {1} failed, {2} not run)"), res.Passed, res.ErrorsAndFailures, res.TestsNotRun); } if (treeBuilder.Options ["ShowTestTime"]) { nodeInfo.Label += string.Format(" Time: {0}ms", res.Time.TotalMilliseconds); } } }
bool IsGoToFailureEnabled (UnitTest test) { if (test.SourceCodeLocation == null || test is UnitTestGroup) return false; UnitTestResult res = test.GetLastResult (); return res != null && res.IsFailure; }
protected void OnCopy() { UnitTest test = GetSelectedTest(); if (test != null) { var last = test.GetLastResult(); if (last == null) { return; } Gtk.TreeModel foo; Gtk.TreeIter iter; if (!failuresTreeView.Selection.GetSelected(out foo, out iter)) { return; } int type = (int)failuresStore.GetValue(iter, 5); var clipboard = Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)); switch (type) { case ErrorMessage: clipboard.Text = last.Message; break; case StackTrace: clipboard.Text = last.StackTrace; break; default: clipboard.Text = last.Message + Environment.NewLine + GettextCatalog.GetString("Stack trace:") + Environment.NewLine + last.StackTrace; break; } } else { if (error == null) { return; } var clipboard = Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)); Gtk.TreeModel foo; Gtk.TreeIter iter; if (!failuresTreeView.Selection.GetSelected(out foo, out iter)) { return; } int type = (int)failuresStore.GetValue(iter, 5); switch (type) { case ErrorMessage: clipboard.Text = error.Message; break; case StackTrace: clipboard.Text = error.StackTrace; break; default: clipboard.Text = error.Message + Environment.NewLine + GettextCatalog.GetString("Stack trace:") + Environment.NewLine + error.StackTrace; break; } } }