aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/scala/org/perl8/test/tap/Producer.scala
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-02-21 12:15:02 -0600
committerJesse Luehrs <doy@tozt.net>2013-02-21 15:02:01 -0600
commit22a7e25c0bca5f08d9d8c9df8793238750d091a3 (patch)
treea388251d6982a99df870bc5a0462b0393ebe4896 /src/main/scala/org/perl8/test/tap/Producer.scala
parent98621ad7b07f076da65c7614227db4c8e33f6dde (diff)
downloadscala-test-more-22a7e25c0bca5f08d9d8c9df8793238750d091a3.tar.gz
scala-test-more-22a7e25c0bca5f08d9d8c9df8793238750d091a3.zip
move more things around
Diffstat (limited to 'src/main/scala/org/perl8/test/tap/Producer.scala')
-rw-r--r--src/main/scala/org/perl8/test/tap/Producer.scala44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/scala/org/perl8/test/tap/Producer.scala b/src/main/scala/org/perl8/test/tap/Producer.scala
new file mode 100644
index 0000000..28c9142
--- /dev/null
+++ b/src/main/scala/org/perl8/test/tap/Producer.scala
@@ -0,0 +1,44 @@
+package org.perl8.test.tap
+
+import org.perl8.test.Utils._
+
+object Producer {
+ def result (
+ cond: Boolean,
+ num: Int,
+ desc: Message = NoMessage,
+ todo: Message = NoMessage
+ ): String =
+ join(
+ (if (!cond) Some("not") else None),
+ Some("ok"),
+ Some(num),
+ desc,
+ todo.map(t => "# TODO " + t)
+ )
+
+ def skip (num: Int, reason: Message = NoMessage): String =
+ join(
+ Some("ok"),
+ Some(num),
+ Some("# skip"),
+ reason
+ )
+
+ def comment (message: String): String =
+ message.split("\n").map(m => "# " + m).mkString("\n")
+
+ def plan (plan: Plan): String =
+ join(
+ Some("1.." + plan.plan),
+ (if (plan.skipAll || plan.message.isDefined) Some("#") else None),
+ (if (plan.skipAll) Some("SKIP") else None),
+ plan.message
+ )
+
+ def bailOut (message: Message = NoMessage) =
+ join(Some("Bail out!"), message)
+
+ private def join (strings: Option[Any]*): String =
+ strings.flatMap(x => x).mkString(" ")
+}