OSDN Git Service

test cases
authorSet <set.minami@gmail.com>
Wed, 15 May 2013 08:26:43 +0000 (17:26 +0900)
committerSet <set.minami@gmail.com>
Wed, 15 May 2013 08:26:43 +0000 (17:26 +0900)
.history [new file with mode: 0644]
build.sbt
src/main/scala/BlackQuill.scala
src/test/scala/BlackQuill.scala [new file with mode: 0644]
src/test/scala/BlackQuillSpec.scala [new file with mode: 0644]

diff --git a/.history b/.history
new file mode 100644 (file)
index 0000000..e326c3f
--- /dev/null
+++ b/.history
@@ -0,0 +1,3 @@
+reload
+compile
+reload
index 5d3fbb5..2d8b3b5 100644 (file)
--- a/build.sbt
+++ b/build.sbt
@@ -8,5 +8,12 @@ scalacOptions ++= Seq("-encoding","UTF-8")
 
 libraryDependencies ++= Seq(
        "org.apache.commons" % "commons-lang3" % "3.1",
-       "commons-io" % "commons-io" % "2.4"
+       "commons-io" % "commons-io" % "2.4",
+       "org.specs2" %% "specs2" % "1.12.3" % "test"
+)
+
+
+resolvers ++= Seq(
+  "snapshots" at "http://oss.sonatype.org/content/repositories/snapshots",
+  "releases" at "http://oss.sonatype.org/content/repositories/releases"
 )
index 3920f41..b774f2f 100644 (file)
@@ -30,7 +30,7 @@ object BlackQuill{
 
   val description = "Welcome to BlackQuill.\n" +
     "BQ switches=> \n" + options +
-    "Please see also... \n" +
+    "\nPlease see also... \n" +
     wiki + syntax + "\n" +
     wiki + philosophy + "\n" 
 
@@ -52,6 +52,18 @@ object BlackQuill{
     def setEncoding(b:Boolean,enc:String){encFlag=b;encode = enc}
     def getEncoding{encode}
 
+    def init{
+      inputFile = ""
+      force = false
+      stdout = false
+      stdin = false
+      output = false
+      dirName = ""
+      verbose = false
+      encFlag = false
+      encode = "UTF-8"
+    }
+
     private
     var inputFile = ""
     var force = false
@@ -67,37 +79,37 @@ object BlackQuill{
     var encFlag = false
     var encode = "UTF-8"
 
+
   }
 
   def main(args:Array[String]){
-
-    val f : Regex = """(.+)\s(.+)""".r 
     val sufRegex = """(\.md$)|(\.markdown$)|(\.txt$)|(\.bq$)|(\.blackquill$)""".r
 
     try{
-      args.foreach({s =>
-        println("=>" + s)
-        s match {
+      val it = args.iterator
+      for(elem <- it){
+        println("=>" + elem.toString)
+        elem.toString() match {
           case "--force"|"-f" => Switches.setForce(true)
           case "--stdout"|"-s" => Switches.setStdout(true)
-          case f("--enc",v) => Switches.setEncoding(true,v)
-          case f("--output",v) => Switches.setOutput(true,v)
+          case "--enc" => Switches.setEncoding(true,it.next.toString)
+          case "--output" => Switches.setOutput(true,it.next.toString)
           case "--verbose"|"-v" => Switches.setVerbose(true)
           case "--version" => println("BlackQuill Version" + VERSION + " updated at " + lastDate)
           case "--help"|"-h" =>
             println(description)
           case _ => 
-            if(sufRegex.findFirstIn(s) != None){
-              Switches.setInputfile(s)
+            if(sufRegex.findFirstIn(elem.toString) != None){
+              Switches.setInputfile(elem.toString)
             }else{
               throw new RuntimeException
             }
         }
-      })
+      }
     }catch{ case e:Exception => println("wrong switch is found see --help or Website\n" + wiki)}
   }
 
-  
+
 }
 
 
diff --git a/src/test/scala/BlackQuill.scala b/src/test/scala/BlackQuill.scala
new file mode 100644 (file)
index 0000000..ef045c5
--- /dev/null
@@ -0,0 +1 @@
+import org.specs2.mutable._
diff --git a/src/test/scala/BlackQuillSpec.scala b/src/test/scala/BlackQuillSpec.scala
new file mode 100644 (file)
index 0000000..6148cfb
--- /dev/null
@@ -0,0 +1,157 @@
+package org.blackquill
+import org.specs2._
+
+
+class BlackQuillSpec extends Specification {
+  
+  def is =
+  sequential^
+  "This is a spec to check status of Flags" ^
+  "BlackQuill.main should" ^
+  p^
+  "When BlackQuill.main is given '--help'" ! before("--help") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  endp^
+  p^
+  "When BlackQuill.main is given '-h'" ! before("-h") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  endp^
+  p^
+  "When BlackQuill.main is given '--force'" ! before("--force") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be True" ! isForceTrue ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  endp^
+  p^
+  "When BlackQuill.main is given '-f'" ! before("-f") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be True" ! isForceTrue ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  endp^
+  p^
+  "When BlackQuill.main is gven '--stdout'" ! before("--stdout") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be True" ! isStdoutTrue ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  endp^
+  p^
+  "When BlackQuill.main is given '-s'" ! before("-s") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be True" ! isStdoutTrue ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  endp^
+  p^
+  "When BlackQuill.main is given '--enc shift-jis'" ! before("--enc shift-jis") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be True" ! isEncFlagTrue ^
+  "'BlackQuill.Switches.enc' must be shift-jis" ! isEncValid("shift-jis") ^
+  endp^
+  p^
+  "When BlackQuill.main is given '--output foo'" ! before("--output foo") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be True" ! isOutputTrue ^
+  "'BlackQuill.Switches.dir' must be foo" ! isOutputValid("foo") ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  "'BlackQuill.Switches.enc' must be UTF-8" ! isEncValid("UTF-8") ^
+  endp^
+  p^
+  "When BlackQuill.main is given '--verbose'" ! before("--verbose") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be True" ! isVerboseTrue ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  "'BlackQuill.Switches.enc' must be UTF-8" ! isEncValid("UTF-8") ^
+  endp^
+  p^
+  "When BlackQuill.main is given '--version'" ! before("--version") ^
+  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
+  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
+  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
+  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
+  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
+  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
+  "'BlackQuill.Switches.enc' must be UTF-8" ! isEncValid("UTF-8") ^
+  endp^
+  end
+
+  def before(sw:String) = {
+    BlackQuill.Switches.init
+    val swArray = sw.split(" ")
+    acceptSw(swArray)
+    sw must startWith("-")
+  }
+
+  def acceptSw(sw:Array[String]) = {
+    BlackQuill.main(sw)
+  }
+
+  def isStdinFalse = BlackQuill.Switches.stdin must beFalse
+
+  def isStdoutFalse = BlackQuill.Switches.stdout must beFalse
+  def isStdoutTrue = BlackQuill.Switches.stdout must beTrue
+
+  def isForceFalse = BlackQuill.Switches.force must beFalse
+  def isForceTrue = BlackQuill.Switches.force must beTrue
+
+  def isOutputFalse = BlackQuill.Switches.output must beFalse
+  def isOutputTrue = BlackQuill.Switches.output must beTrue
+  def isOutputValid(dir:String) = BlackQuill.Switches.dirName must be matching(dir)
+
+  def isVerboseFalse = BlackQuill.Switches.verbose must beFalse
+  def isVerboseTrue = BlackQuill.Switches.verbose must beTrue
+
+  def isEncFlagFalse = BlackQuill.Switches.encFlag must beFalse
+  def isEncFlagTrue = BlackQuill.Switches.encFlag must beTrue
+  def isEncValid(enc:String) = BlackQuill.Switches.encode must be matching(enc)
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+