diff --git a/build.sbt b/build.sbt
index 1ad1c21..f899455 100644
--- a/build.sbt
+++ b/build.sbt
@@ -43,6 +43,7 @@
"org.eclipse.jetty" % "jetty-webapp" % JettyVersion % "provided",
"javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided",
"junit" % "junit" % "4.12" % "test",
+ "org.scalatra" %% "scalatra-scalatest" % ScalatraVersion % "test",
"org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test",
"org.specs2" %% "specs2-junit" % "3.6.6" % "test"
)
diff --git a/src/test/scala/gitbucket/core/util/DirectorySpec.scala b/src/test/scala/gitbucket/core/util/DirectorySpec.scala
index a824fe8..1eb9ac6 100644
--- a/src/test/scala/gitbucket/core/util/DirectorySpec.scala
+++ b/src/test/scala/gitbucket/core/util/DirectorySpec.scala
@@ -1,15 +1,16 @@
package gitbucket.core.util
-import org.specs2.mutable._
+import org.scalatest.FunSpec
+class DirectorySpec extends FunSpec {
-class DirectorySpec extends Specification {
- "GitBucketHome" should {
- "set under target in test scope" in {
- Directory.GitBucketHome mustEqual new java.io.File("target/gitbucket_home_for_test").getAbsolutePath
- }
- "exists" in {
- new java.io.File(Directory.GitBucketHome).exists
+ describe("GitBucketHome"){
+ it("should set under target in test scope"){
+ assert(Directory.GitBucketHome === new java.io.File("target/gitbucket_home_for_test").getAbsolutePath)
}
}
+// test("GitBucketHome should exists"){
+// new java.io.File(Directory.GitBucketHome).exists
+// }
+
}
diff --git a/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala b/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala
index 5a755f5..61bcb65 100644
--- a/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala
+++ b/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala
@@ -1,103 +1,104 @@
package gitbucket.core.util
-import org.specs2.mutable._
import GitSpecUtil._
+import org.scalatest.FunSuite
-class JGitUtilSpec extends Specification {
+class JGitUtilSpec extends FunSuite {
- "getFileList(git: Git, revision: String, path)" should {
+ test("getFileList(git: Git, revision: String, path)"){
withTestRepository { git =>
def list(branch: String, path: String) =
JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory))
- list("master", ".") mustEqual Nil
- list("master", "dir/subdir") mustEqual Nil
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === Nil)
+ assert(list("master", "dir/subdir") === Nil)
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
createFile(git, "master", "README.md", "body1", message = "commit1")
- list("master", ".") mustEqual List(("README.md", "commit1", false))
- list("master", "dir/subdir") mustEqual Nil
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === List(("README.md", "commit1", false)))
+ assert(list("master", "dir/subdir") === Nil)
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
createFile(git, "master", "README.md", "body2", message = "commit2")
- list("master", ".") mustEqual List(("README.md", "commit2", false))
- list("master", "dir/subdir") mustEqual Nil
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === List(("README.md", "commit2", false)))
+ assert(list("master", "dir/subdir") === Nil)
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
createFile(git, "master", "dir/subdir/File3.md", "body3", message = "commit3")
- list("master", ".") mustEqual List(("dir/subdir", "commit3", true), ("README.md", "commit2", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false))
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === List(("dir/subdir", "commit3", true), ("README.md", "commit2", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false)))
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
createFile(git, "master", "dir/subdir/File4.md", "body4", message = "commit4")
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit2", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit2", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
createFile(git, "master", "README5.md", "body5", message = "commit5")
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit2", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit2", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
createFile(git, "master", "README.md", "body6", message = "commit6")
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual Nil
- list("branch", "dir/subdir") mustEqual Nil
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === Nil)
+ assert(list("branch", "dir/subdir") === Nil)
git.branchCreate().setName("branch").setStartPoint("master").call()
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("branch", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("branch", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
createFile(git, "branch", "dir/subdir/File3.md", "body7", message = "commit7")
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
createFile(git, "master", "dir8/File8.md", "body8", message = "commit8")
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
createFile(git, "branch", "dir/subdir9/File9.md", "body9", message = "commit9")
- list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
- list("branch", ".") mustEqual List(("dir", "commit9", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
+ assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
+ assert(list("branch", ".") === List(("dir", "commit9", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
mergeAndCommit(git, "master", "branch", message = "merge10")
- list("master", ".") mustEqual List(("dir", "commit9", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
- list("master", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
+ assert(list("master", ".") === List(("dir", "commit9", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
+ assert(list("master", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
}
}
- "getFileList subfolder multi-origin (issue #721)" should {
+
+ test("getFileList subfolder multi-origin (issue #721)") {
withTestRepository { git =>
def list(branch: String, path: String) =
JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory))
createFile(git, "master", "README.md", "body1", message = "commit1")
createFile(git, "branch", "test/text2.txt", "body2", message = "commit2")
mergeAndCommit(git, "master", "branch", message = "merge3")
- list("master", "test") mustEqual List(("text2.txt", "commit2", false))
+ assert(list("master", "test") === List(("text2.txt", "commit2", false)))
}
}
}
diff --git a/src/test/scala/gitbucket/core/util/StringUtilSpec.scala b/src/test/scala/gitbucket/core/util/StringUtilSpec.scala
index 29fb0a7..dce258e 100644
--- a/src/test/scala/gitbucket/core/util/StringUtilSpec.scala
+++ b/src/test/scala/gitbucket/core/util/StringUtilSpec.scala
@@ -1,66 +1,67 @@
package gitbucket.core.util
-import org.specs2.mutable._
+//import org.specs2.mutable._
+import org.scalatest.FunSpec
-class StringUtilSpec extends Specification {
+class StringUtilSpec extends FunSpec {
- "urlEncode" should {
- "encode whitespace to %20" in {
+ describe("urlEncode") {
+ it("should encode whitespace to %20") {
val encoded = StringUtil.urlEncode("aa bb")
- encoded mustEqual "aa%20bb"
+ assert(encoded === "aa%20bb")
}
}
- "urlDecode" should {
- "decode encoded string to original string" in {
+ describe("urlDecode") {
+ it("should decode encoded string to original string") {
val encoded = StringUtil.urlEncode("あいうえお")
- StringUtil.urlDecode(encoded) mustEqual "あいうえお"
+ assert(StringUtil.urlDecode(encoded) === "あいうえお")
}
- "decode en%20 to whitespace" in {
- StringUtil.urlDecode("aa%20bb") mustEqual "aa bb"
+ it("should decode en%20 to whitespace") {
+ assert(StringUtil.urlDecode("aa%20bb") === "aa bb")
}
}
- "splitWords" should {
- "split string by whitespaces" in {
+ describe("splitWords") {
+ it("should split string by whitespaces") {
val split = StringUtil.splitWords("aa bb\tcc dd \t ee")
- split mustEqual Array("aa", "bb", "cc", "dd", "ee")
+ assert(split === Array("aa", "bb", "cc", "dd", "ee"))
}
}
- "escapeHtml" should {
- "escape &, <, > and \"" in {
- StringUtil.escapeHtml("a & b") mustEqual "<a href="/test">a & b</a>"
+ describe("escapeHtml") {
+ it("should escape &, <, > and \"") {
+ assert(StringUtil.escapeHtml("a & b") === "<a href="/test">a & b</a>")
}
}
- "md5" should {
- "generate MD5 hash" in {
- StringUtil.md5("abc") mustEqual "900150983cd24fb0d6963f7d28e17f72"
+ describe("md5") {
+ it("should generate MD5 hash") {
+ assert(StringUtil.md5("abc") === "900150983cd24fb0d6963f7d28e17f72")
}
}
- "sha1" should {
- "generate SHA1 hash" in {
- StringUtil.sha1("abc") mustEqual "a9993e364706816aba3e25717850c26c9cd0d89d"
+ describe("sha1") {
+ it("should generate SHA1 hash") {
+ assert(StringUtil.sha1("abc") === "a9993e364706816aba3e25717850c26c9cd0d89d")
}
}
- "extractIssueId" should {
- "extract '#xxx' and return extracted id" in {
- StringUtil.extractIssueId("(refs #123)").toSeq mustEqual Seq("123")
+ describe("extractIssueId") {
+ it("should extract '#xxx' and return extracted id") {
+ assert(StringUtil.extractIssueId("(refs #123)").toSeq === Seq("123"))
}
- "returns Nil from message which does not contain #xxx" in {
- StringUtil.extractIssueId("this is test!").toSeq mustEqual Nil
+ it("should return Nil from message which does not contain #xxx") {
+ assert(StringUtil.extractIssueId("this is test!").toSeq === Nil)
}
}
- "extractCloseId" should {
- "extract 'close #xxx' and return extracted id" in {
- StringUtil.extractCloseId("(close #123)").toSeq mustEqual Seq("123")
+ describe("extractCloseId") {
+ it("should extract 'close #xxx' and return extracted id") {
+ assert(StringUtil.extractCloseId("(close #123)").toSeq === Seq("123"))
}
- "returns Nil from message which does not contain close command" in {
- StringUtil.extractCloseId("(refs #123)").toSeq mustEqual Nil
+ it("should returns Nil from message which does not contain close command") {
+ assert(StringUtil.extractCloseId("(refs #123)").toSeq === Nil)
}
}
}
diff --git a/src/test/scala/gitbucket/core/util/ValidationsSpec.scala b/src/test/scala/gitbucket/core/util/ValidationsSpec.scala
index 65106b8..55a63cf 100644
--- a/src/test/scala/gitbucket/core/util/ValidationsSpec.scala
+++ b/src/test/scala/gitbucket/core/util/ValidationsSpec.scala
@@ -1,35 +1,35 @@
package gitbucket.core.util
-import org.specs2.mutable._
import org.scalatra.i18n.Messages
+import org.scalatest.FunSpec
-class ValidationsSpec extends Specification with Validations {
+class ValidationsSpec extends FunSpec with Validations {
- "identifier" should {
- "validate id string " in {
- identifier.validate("id", "aa_ZZ-00.01", null) mustEqual None
- identifier.validate("id", "_aaaa", null) mustEqual Some("id starts with invalid character.")
- identifier.validate("id", "-aaaa", null) mustEqual Some("id starts with invalid character.")
- identifier.validate("id", "aa_ZZ#01", null) mustEqual Some("id contains invalid character.")
+ describe("identifier") {
+ it("should validate id string ") {
+ assert(identifier.validate("id", "aa_ZZ-00.01", null) === None)
+ assert(identifier.validate("id", "_aaaa", null) === Some("id starts with invalid character."))
+ assert(identifier.validate("id", "-aaaa", null) === Some("id starts with invalid character."))
+ assert(identifier.validate("id", "aa_ZZ#01", null) === Some("id contains invalid character."))
}
}
- "color" should {
- "validate color string " in {
+ describe("color") {
+ it("should validate color string ") {
val messages = Messages()
- color.validate("color", "#88aaff", messages) mustEqual None
- color.validate("color", "#gghhii", messages) mustEqual Some("color must be '#[0-9a-fA-F]{6}'.")
+ assert(color.validate("color", "#88aaff", messages) === None)
+ assert(color.validate("color", "#gghhii", messages) === Some("color must be '#[0-9a-fA-F]{6}'."))
}
}
- "date" should {
+ describe("date") {
// "validate date string " in {
// date().validate("date", "2013-10-05", Map[String, String]()) mustEqual Nil
// date().validate("date", "2013-10-5" , Map[String, String]()) mustEqual List(("date", "date must be '\\d{4}-\\d{2}-\\d{2}'."))
// }
- "convert date string " in {
+ it("should convert date string ") {
val result = date().convert("2013-10-05", null)
- new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result) mustEqual "2013-10-05 00:00:00"
+ assert(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result) === "2013-10-05 00:00:00")
}
}