diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-02-27 01:42:53 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-02-27 01:42:53 -0600 |
commit | a3c7e06e53b5a0305c9951ef678dfb1c2cc69de4 (patch) | |
tree | 345f7ad88c5708a2c29a53cd8b5d298cbb05ec9e /src | |
parent | 67321fc7c67265d1a4bd529e9c57413587d564f6 (diff) | |
download | scala-test-more-a3c7e06e53b5a0305c9951ef678dfb1c2cc69de4.tar.gz scala-test-more-a3c7e06e53b5a0305c9951ef678dfb1c2cc69de4.zip |
also generate start and end events
Diffstat (limited to 'src')
-rw-r--r-- | src/main/scala/org/perl8/test/tap/Parser.scala | 11 |
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 |