From a3c7e06e53b5a0305c9951ef678dfb1c2cc69de4 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 27 Feb 2013 01:42:53 -0600 Subject: also generate start and end events --- src/main/scala/org/perl8/test/tap/Parser.scala | 11 +++++++++-- 1 file 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 -- cgit v1.2.3-54-g00ecf