aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-02-27 01:42:53 -0600
committerJesse Luehrs <doy@tozt.net>2013-02-27 01:42:53 -0600
commita3c7e06e53b5a0305c9951ef678dfb1c2cc69de4 (patch)
tree345f7ad88c5708a2c29a53cd8b5d298cbb05ec9e
parent67321fc7c67265d1a4bd529e9c57413587d564f6 (diff)
downloadscala-test-more-a3c7e06e53b5a0305c9951ef678dfb1c2cc69de4.tar.gz
scala-test-more-a3c7e06e53b5a0305c9951ef678dfb1c2cc69de4.zip
also generate start and end events
-rw-r--r--src/main/scala/org/perl8/test/tap/Parser.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/scala/org/perl8/test/tap/Parser.scala b/src/main/scala/org/perl8/test/tap/Parser.scala
index 27f085a..ce39343 100644
--- a/src/main/scala/org/perl8/test/tap/Parser.scala
+++ b/src/main/scala/org/perl8/test/tap/Parser.scala
@@ -21,11 +21,16 @@ class Parser private (
private def this (indent: String) =
this(e => (), indent)
- def parse (input: InputStream): TAPResult =
+ def parse (input: InputStream): TAPResult = {
+ cb(StartEvent)
tap(new LineReader(input)) match {
- case Success(result, _) => result
+ case Success(result, _) => {
+ cb(EndEvent(result))
+ result
+ }
case failure: NoSuccess => throw new ParseException(failure.msg)
}
+ }
def parse (input: String): TAPResult =
parse(new ByteArrayInputStream(input.getBytes))
@@ -191,6 +196,8 @@ class Parser private (
}
sealed trait TAPEvent
+case object StartEvent extends TAPEvent
+case class EndEvent (result: TAPResult) extends TAPEvent
case class ResultEvent (result: TestResult) extends TAPEvent
case class PlanEvent (plan: Plan) extends TAPEvent
case object SubtestStartEvent extends TAPEvent