2
// <copyright see="prj:///doc/copyright.txt"/>
3
// <license see="prj:///doc/license.txt"/>
4
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
5
// <version>$Revision$</version>
10
using Gallio.Common.Markup;
11
using Gallio.Common.Markup.Tags;
12
using Gallio.Runner.Reports.Schema;
14
namespace Gallio.Extension
16
public class SharpDevelopTagFormatter : ITagVisitor
18
StringBuilder textBuilder = new StringBuilder();
19
string testResultMessage = String.Empty;
21
public void Visit(TestStepRun testStepRun)
23
foreach (StructuredStream stream in testStepRun.TestLog.Streams) {
24
VisitBodyTag(stream.Body);
28
public void VisitBodyTag(BodyTag tag)
30
foreach (Tag childTag in tag.Contents) {
31
childTag.Accept(this);
35
public void VisitSectionTag(SectionTag tag)
37
textBuilder.Append(tag.Name + " ");
38
tag.AcceptContents(this);
41
public void VisitMarkerTag(MarkerTag tag)
43
if (tag.Class == Marker.StackTraceClass) {
44
testResultMessage = textBuilder.ToString();
45
textBuilder = new StringBuilder();
47
tag.AcceptContents(this);
50
public void VisitEmbedTag(EmbedTag tag)
54
public void VisitTextTag(TextTag tag)
56
textBuilder.Append(tag.Text);
59
public string TestResultMessage {
60
get { return testResultMessage; }
63
public string GetStackTrace()
65
return textBuilder.ToString();