diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-02-21 12:15:02 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-02-21 15:02:01 -0600 |
commit | 22a7e25c0bca5f08d9d8c9df8793238750d091a3 (patch) | |
tree | a388251d6982a99df870bc5a0462b0393ebe4896 /src/main/scala/org/perl8/test/tap/Producer.scala | |
parent | 98621ad7b07f076da65c7614227db4c8e33f6dde (diff) | |
download | scala-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.scala | 44 |
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(" ") +} |