aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/scala/com/iinteractive/test/tap/TAPEvent.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/com/iinteractive/test/tap/TAPEvent.scala')
-rw-r--r--src/main/scala/com/iinteractive/test/tap/TAPEvent.scala40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/scala/com/iinteractive/test/tap/TAPEvent.scala b/src/main/scala/com/iinteractive/test/tap/TAPEvent.scala
new file mode 100644
index 0000000..1c2e88d
--- /dev/null
+++ b/src/main/scala/com/iinteractive/test/tap/TAPEvent.scala
@@ -0,0 +1,40 @@
+package com.iinteractive.test.tap
+
+import com.iinteractive.test.Plan
+
+/** An event emitted while parsing a TAP stream. */
+sealed trait TAPEvent
+
+/** The start of a TAP stream. */
+case object StartEvent extends TAPEvent
+
+/** The end of a TAP stream.
+ * @param result The [[com.iinteractive.test.tap.TAPResult TAPResult]]
+ * containing information about all of the tests which just
+ * finished running. This will be the same thing that is
+ * returned by the call to
+ * [[com.iinteractive.test.tap.Parser Parser]]'s `parse`
+ * method.
+ */
+case class EndEvent private[tap] (result: TAPResult) extends TAPEvent
+
+/** An individual test result.
+ * @param result The [[com.iinteractive.test.tap.TestResult TestResult]]
+ * containing information about the corresponding test.
+ */
+case class ResultEvent private[tap] (result: TestResult) extends TAPEvent
+
+/** A test plan.
+ * @param plan The [[com.iinteractive.test.Plan Plan]] corresponding to the
+ * line that was parsed.
+ */
+case class PlanEvent private[tap] (plan: Plan) extends TAPEvent
+
+/** The start of a subtest (currently unused). */
+case object SubtestStartEvent extends TAPEvent
+
+/** The end of a subtest (currently unused). */
+case class SubtestEndEvent private[tap] (result: TestResult) extends TAPEvent
+
+/** A comment (currently unused). */
+case class CommentEvent private[tap] (text: String) extends TAPEvent